Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refund_proposal_and_payment_aligment #152

Merged
merged 25 commits into from
Jul 3, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
aecf86a
(refund_proposal_and_payment_aligment
PedroDiez Apr 12, 2024
6cc4c10
fix_megalinter_path_param_definition_abscence_error
PedroDiez Apr 12, 2024
ac5f082
fix_megalinter_format_comments
PedroDiez Apr 12, 2024
a9510f8
fix_megalinter_final_comments
PedroDiez Apr 12, 2024
7b224ea
fix_amount_and_taxAmount_non-negative
PedroDiez May 15, 2024
d12b4cf
status_naming_and_alignment_fix_refund_non_negative_amounts
PedroDiez May 15, 2024
04b4cb1
fix_linter_error
PedroDiez May 15, 2024
bb99437
carrier_billing_phoneNumber_aligment
PedroDiez May 24, 2024
659b2aa
adding_merchant_identifier_model_422_exceptions_and_more_description
PedroDiez May 24, 2024
08837a8
polymorphic_refund_model
PedroDiez May 24, 2024
efe2444
payment_remaining_amount_new_proposal
PedroDiez May 24, 2024
56569a6
fix_linter_error
PedroDiez May 24, 2024
4d03b24
align_camara_commonalities_and_notification_model
PedroDiez Jun 10, 2024
960f3b1
fix_linter_10_june
PedroDiez Jun 10, 2024
9c723cd
include_paymentItemId_concept
PedroDiez Jun 11, 2024
692c175
fix_linter_comment
PedroDiez Jun 11, 2024
e07bed4
fix_typo
PedroDiez Jun 11, 2024
e2be576
fix_error_typos_in_payment
PedroDiez Jun 12, 2024
8d079e3
fix_error_typos_in_payment_refund
PedroDiez Jun 12, 2024
a647dea
missing_404_code_in_retrieveRefunds
PedroDiez Jun 12, 2024
23e17c0
Merge branch 'main' of https://github.com/camaraproject/CarrierBillin…
PedroDiez Jun 19, 2024
85a008a
description_enhancements_based_on_Ludovic_14_JUN_review
PedroDiez Jun 19, 2024
9377d6c
semantic_enhancements_based_on_Ludovic_14_JUN_review
PedroDiez Jun 19, 2024
8c230ba
commonalities_alignment_errors_and_endpoint_versions
PedroDiez Jun 21, 2024
8cfe775
fix_refundDate_typo
PedroDiez Jun 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 48 additions & 4 deletions code/API_definitions/carrier_billing.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ info:

This API allows to third party clients to request the payment of a (set of) digital good(s)/service(s), as well as to retrieve information about a specific payment or a list of payments.

In the scope of **version v0.2, only one-off payments are covered**. Recurrent payments (a.k.a. payment subscriptions) are not covered so far.
In the scope of **version v0.3, only one-off payments are covered**. Recurrent payments (a.k.a. payment subscriptions) are not covered so far.

The API provides several endpoints/operations:
- An endpoint to request a 1-STEP Payment, named `createPayment`.
Expand Down Expand Up @@ -97,10 +97,16 @@ info:

After `cancelPayment`, status=`cancelled`.

# Authorization and authentication

CAMARA guidelines defines a set of authorization flows which can grant API clients access to the API functionality, as outlined in the document [CAMARA-API-access-and-user-consent.md](https://github.com/camaraproject/IdentityAndConsentManagement/blob/main/documentation/CAMARA-API-access-and-user-consent.md). Which specific authorization flows are to be used will be determined during onboarding process, happening between the API Client and the Telco Operator exposing the API, taking into account the declared purpose for accessing the API, while also being subject to the prevailing legal framework dictated by local legislation.
PedroDiez marked this conversation as resolved.
Show resolved Hide resolved

It is important to remark that in cases where personal user data is processed by the API, and users can exercise their rights through mechanisms such as opt-in and/or opt-out, the use of 3-legged access tokens becomes mandatory. This measure ensures that the API remains in strict compliance with user privacy preferences and regulatory obligations, upholding the principles of transparency and user-centric data control.

# Further info and support

(FAQs will be added in a later version of the documentation)
version: 0.2.1
version: 0.3.0-wip
title: Carrier Billing
termsOfService: http://swagger.io/terms/
contact:
Expand Down Expand Up @@ -630,6 +636,10 @@ components:
type: string
format: date-time
description: Date time when the payment is effectively performed. This is a business information. It must follow RFC 3339 and must have time zone. Recommended format is yyyy-MM-dd'T'HH:mm:ss.SSSZ (i.e. which allows 2023-07-03T14:27:08.312+02:00 or 2023-07-03T12:27:08.312Z).
paymentRemainingAmount:
allOf:
- $ref: "#/components/schemas/PaymentRemainingAmount"
- description: Remaining Amount of a given payment not refunded yet. Only included when a payment has been refunded at least one time. Check Carrier Billing Refund API for details.
webhook:
allOf:
- $ref: "#/components/schemas/Webhook"
Expand All @@ -647,6 +657,37 @@ components:
type: string
description: Authentification token for callback endpoint
example: "c8974e592c2fa383d4a3960714"
PaymentRemainingAmount:
type: object
required:
- amount
- currency
properties:
amount:
type: number
format: float
multipleOf: 0.001
description: Specific amount not yet refunded for the payment.
example: 100
currency:
type: string
description: Currency code in which amount is expressed as defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html).
example: "EUR"
description:
type: string
description: Description text (human readable) to contextualize this amount. Optionally indicated by Telco Operator.
example: "Current Amount not refunded so far"
isTaxIncluded:
type: boolean
default: false
description: If true, the `amount` is tax included, if false the `amount` is provided without tax. In both cases, `taxAmount` could be indicated to provide tax amount.
taxAmount:
type: number
format: float
multipleOf: 0.001
description: |
The tax amount refunded by the merchant. Indicated when the merchant is the one applying taxes. This field also provides an indicator to the downstream billing system.
example: 21
AmountTransaction:
required:
- phoneNumber
Expand Down Expand Up @@ -678,7 +719,7 @@ components:
transactionOperationStatus:
type: string
description:
Specifies the payment status (`processing`, `pending_validation`, `denied`, `reserved`, `succeeded`, `cancelled`).
Specifies the payment status (`processing`, `pending_validation`, `denied`, `reserved`, `succeeded`, `cancelled`, `refund_in_progress`, `totally_refunded`, `partially_refunded`).
example: "processing"
resourceURL:
type: string
Expand Down Expand Up @@ -817,7 +858,7 @@ components:
transactionOperationStatus:
type: string
description:
Specifies the payment status (`processing`, `pending_validation`, `denied`, `reserved`, `succeeded`, `cancelled`).
Specifies the payment status (`processing`, `pending_validation`, `denied`, `reserved`, `succeeded`, `cancelled`, `refund_in_progress`, `totally_refunded`, `partially_refunded`).
example: "processing"
resourceURL:
type: string
Expand Down Expand Up @@ -1684,6 +1725,9 @@ components:
- reserved
- succeeded
- cancelled
- refund_in_progress
- totally_refunded
- partially_refunded
MerchantIdentifier:
description: Merchant identifier to filter the results
in: query
Expand Down
Loading