Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
92 changes: 92 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Table of Contents

- [r3.2](#r32)
- [r3.1 - rc](#r31---rc)
- [r2.2](#r22)
- [r2.1 - rc](#r21---rc)
Expand All @@ -20,6 +21,97 @@ The below sections record the changes for each API version in each release as fo
* for subsequent release-candidate(s), only the delta to the previous release-candidate
* for a public release, the consolidated changes since the previous public release

## r3.2

## Release Notes

This public release contains the definition and documentation of
* Carrier Billing v0.5.0
* Carrier Billing Refund v0.3.0

The API definition(s) are based on
* Commonalities v0.6.0
* Identity and Consent Management v0.4.0

## Carrier Billing v0.5.0

**Carrier Billing v0.5.0 is the first public release version for v0.5.0 of the Carrier Billing API.**
- **This version contains significant changes compared to v0.4.0:**
- Removal of `401 - AUTHENTICATION_REQUIRED`
- New pattern for `x-correlator`
- Addition of a new section `# Additional CAMARA error responses` in `info.description` field
- Addition of `404 - INVALID_SINK` in `createPayment` and `preparePayment` endpoints
- Addition of `404 - IDENTIFIER_NOT_FOUND` in `createPayment`, `preparePayment`, `confirmPayment` and `cancelPayment` endpoints
- Addition of `404 - NOT_FOUND` in `validatePayment` endpoint
- Removal of `403 - CARRIER_BILLING.INVALID_PAYMENT_CONTEXT` in `retrievePayment` and `retrievePayments` endpoints

- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.2/code/API_definitions/carrier-billing.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.2/code/API_definitions/carrier-billing.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/CarrierBillingCheckOut/blob/r3.2/code/API_definitions/carrier-billing.yaml)

### Added
* New section `# Additional CAMARA error responses` in `info.description` field in https://github.com/camaraproject/CarrierBillingCheckOut/pull/229.
* `404 - INVALID_SINK` error in `createPayment` and `preparePayment` endpoints in https://github.com/camaraproject/CarrierBillingCheckOut/pull/229.
* `404 - IDENTIFIER_NOT_FOUND` error in `createPayment`, `preparePayment`, `confirmPayment` and `cancelPayment` endpoints in https://github.com/camaraproject/CarrierBillingCheckOut/pull/217.
* `404 - NOT_FOUND` error in `validatePayment` endpoint in https://github.com/camaraproject/CarrierBillingCheckOut/pull/217.
* New test for invalid `x-correlator` in Gherkin `.feature` files in https://github.com/camaraproject/CarrierBillingCheckOut/pull/230.
* Error 404 testing scenarios in Gherkin `.feature` files for `createPayment`, `preparePayment`, `confirmPayment`, `cancelPayment` and `validatePayment` in https://github.com/camaraproject/CarrierBillingCheckOut/pull/230.

### Changed
* New pattern for `x-correlator` and model aligment with Commonalities in https://github.com/camaraproject/CarrierBillingCheckOut/pull/229.
* Update Gherkin `.feature` files with Commonalities testing guidelines in https://github.com/camaraproject/CarrierBillingCheckOut/pull/230 and https://github.com/camaraproject/CarrierBillingCheckOut/pull/236.
* Update test for invalid sink in Gherkin `.feature` files for `createPayment` and `preparePayment` endpoints in https://github.com/camaraproject/CarrierBillingCheckOut/pull/230.
* Error schema model alignment with Commonalities in https://github.com/camaraproject/CarrierBillingCheckOut/pull/236.

### Fixed
* N/A

### Removed
* `401 - AUTHENTICATION_REQUIRED` error in https://github.com/camaraproject/CarrierBillingCheckOut/pull/229.
* `403 - CARRIER_BILLING.INVALID_PAYMENT_CONTEXT` error in `retrievePayment` and `retrievePayments` endpoints in https://github.com/camaraproject/CarrierBillingCheckOut/pull/226.
* Test `@*_403.02_phoneNumber_token_mismatch` in Gherkin `.feature` files for `retrievePayment` and `retrievePayments` in https://github.com/camaraproject/CarrierBillingCheckOut/pull/230.

## Carrier Billing Refund v0.3.0

**Carrier Billing Refund v0.3.0 is the first public release version for v0.3.0 of the Carrier Billing Refund API.**
- **This version contains significant changes compared to v0.2.0:**
- Removal of `401 - AUTHENTICATION_REQUIRED`
- New pattern for `x-correlator`
- Addition of a new section `# Additional CAMARA error responses` in `info.description` field
- Addition of `404 - INVALID_SINK` in `createRefund` endpoint
- Removal of `403 - CARRIER_BILLING.INVALID_REFUND_CONTEXT`

- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.2/code/API_definitions/carrier-billing-refund.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.2/code/API_definitions/carrier-billing-refund.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/CarrierBillingCheckOut/blob/r3.2/code/API_definitions/carrier-billing-refund.yaml)

### Added
* * New section `# Additional CAMARA error responses` in `info.description` field in https://github.com/camaraproject/CarrierBillingCheckOut/pull/229.
* `404 - INVALID_SINK` error in `createRefund` endpoint in https://github.com/camaraproject/CarrierBillingCheckOut/pull/229.
* New test for invalid `x-correlator` in Gherkin `.feature` files in https://github.com/camaraproject/CarrierBillingCheckOut/pull/230.

### Changed
* New pattern for `x-correlator` and model aligment with Commonalities in https://github.com/camaraproject/CarrierBillingCheckOut/pull/229.
* Update Gherkin `.feature` files with Commonalities testing guidelines in https://github.com/camaraproject/CarrierBillingCheckOut/pull/230 and https://github.com/camaraproject/CarrierBillingCheckOut/pull/236.
* Update test for invalid sink in Gherkin `.feature` file for `createRefund` endpoint in https://github.com/camaraproject/CarrierBillingCheckOut/pull/230.
* Error schema model alignment with Commonalities in https://github.com/camaraproject/CarrierBillingCheckOut/pull/236.

### Fixed
* N/A

### Removed
* `401 - AUTHENTICATION_REQUIRED` error in https://github.com/camaraproject/CarrierBillingCheckOut/pull/229.
* `403 - CARRIER_BILLING.INVALID_REFUND_CONTEXT` error in https://github.com/camaraproject/CarrierBillingCheckOut/pull/226.
* Test `@*_403.02_phoneNumber_token_mismatch` in Gherkin `.feature` files in https://github.com/camaraproject/CarrierBillingCheckOut/pull/230.

## New Contributors
* N/A


**Full Changelog**: https://github.com/camaraproject/CarrierBillingCheckOut/compare/r2.2...r3.2

## r3.1 - rc

## Release Notes
Expand Down
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,19 @@ Sandbox API Repository to describe, develop, document, and test the CarrierBilli
<!-- For changes see [CHANGELOG.md](https://github.com/camaraproject/§repo_name§/blob/main/CHANGELOG.md) -->
* Note: Please be aware that the project will have updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until a new release is created. For example, changes may be reverted before a release is created. **For best results, use the latest available release**.

* **The pre-release [r3.1 - rc](https://github.com/camaraproject/CarrierBillingCheckout/releases/tag/r3.1) of the Carrier Billing APIs is available.**
<br>This is a release candidate. Until the public release there are bug fixes to be expected. The release candidate is suitable for implementors, but it is not recommended to use the API with customers in productive environments.

* The pre-release **r3.1 - rc** is available in [r3.1](https://github.com/camaraproject/CarrierBillingCheckOut/tree/r3.1), and includes the following APIs:
- API name: Carrier Billing - API Definition v0.5.0-rc.1 with inline documentation:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.1/code/API_definitions/carrier-billing.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.1/code/API_definitions/carrier-billing.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/CarrierBillingCheckOut/blob/r3.1/code/API_definitions/carrier-billing.yaml)

- API name: Carrier Billing Refund - API Definition v0.3.0-rc.1 with inline documentation:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.1/code/API_definitions/carrier-billing-refund.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.1/code/API_definitions/carrier-billing-refund.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/CarrierBillingCheckOut/blob/r3.1/code/API_definitions/carrier-billing-refund.yaml)
* **The release [r3.2](https://github.com/camaraproject/CarrierBillingCheckout/releases/tag/r3.2) of the Carrier Billing APIs is available.**
<br>This is a public release.

* The release **r3.2** is available in [r3.2](https://github.com/camaraproject/CarrierBillingCheckOut/tree/r3.2), and includes the following APIs:
- API name: Carrier Billing - API Definition v0.5.0 with inline documentation:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.2/code/API_definitions/carrier-billing.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.2/code/API_definitions/carrier-billing.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/CarrierBillingCheckOut/blob/r3.2/code/API_definitions/carrier-billing.yaml)

- API name: Carrier Billing Refund - API Definition v0.3.0 with inline documentation:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.2/code/API_definitions/carrier-billing-refund.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.2/code/API_definitions/carrier-billing-refund.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/CarrierBillingCheckOut/blob/r3.2/code/API_definitions/carrier-billing-refund.yaml)

* Other releases of this sub project are available in [CarrierBillingCheckout Releases](https://github.com/camaraproject/CarrierBillingCheckout/releases)
* For changes see [CHANGELOG.md](https://github.com/camaraproject/CarrierBillingCheckout/blob/main/CHANGELOG.md)
Expand Down
16 changes: 8 additions & 8 deletions code/API_definitions/carrier-billing-refund.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ info:
# Further info and support

(FAQs will be added in a later version of the documentation)
version: 0.3.0-rc.1
version: 0.3.0
title: Carrier Billing Refund
license:
name: Apache 2.0
Expand All @@ -76,7 +76,7 @@ externalDocs:
description: Product documentation at Camara
url: https://github.com/camaraproject/CarrierBillingCheckOut
servers:
- url: "{apiRoot}/carrier-billing-refund/v0.3rc1"
- url: "{apiRoot}/carrier-billing-refund/v0.3"
variables:
apiRoot:
default: http://localhost:9091
Expand Down Expand Up @@ -898,19 +898,19 @@ components:
ErrorInfo:
type: object
required:
- message
- status
- code
- message
properties:
message:
type: string
description: A human-readable description of what the event represents
status:
type: integer
description: HTTP response status code
code:
type: string
description: A human-readable code to describe the error
message:
type: string
description: A human-readable description of what the event represents
responses:
Generic400:
description: Invalid input
Expand Down Expand Up @@ -1244,7 +1244,7 @@ components:
Client indicates content that is understable by the Server but unable to be processed.
Scenarios considered:
- Unauthorized refund amount requested ("code": "CARRIER_BILLING_REFUND.UNAUTHORIZED_AMOUNT","message": "Unauthorized amount requested.").
- Accumulated threshold refund amount for the user's mobile account overpassed ("code": "CARRIER_BILLING_REFUND.USER_AMOUNT_THRESHOLD_OVERPASSED","message": "Unathorized refund request. Accumulated user mobile refunds overpass account amount threshold.").
- Accumulated threshold refund amount for the user's mobile account overpassed ("code": "CARRIER_BILLING_REFUND.USER_AMOUNT_THRESHOLD_OVERPASSED","message": "Unauthorized refund request. Accumulated user mobile refunds overpass account amount threshold.").
- Payment is not in suitable status for refund ("code": "CARRIER_BILLING_REFUND.INVALID_PAYMENT_STATUS","message": "Payment is not yet completed.").
- Property `isTaxIncluded` has not the same value as related Payment ("code": "CARRIER_BILLING_REFUND.TAXES_MANAGEMENT_MISMATCH","message": "Inconsistent isTaxIncluded value with regards to related payment.").
- Refund details provided are inconsistent with regards to the related Payment ("code": "CARRIER_BILLING_REFUND.REFUND_DETAILS_MISMATCH","message": "Inconsistent refundDetails information with regards to related payment.").
Expand Down Expand Up @@ -1282,7 +1282,7 @@ components:
value:
status: 422
code: CARRIER_BILLING_REFUND.USER_AMOUNT_THRESHOLD_OVERPASSED
message: "Unathorized refund request. Accumulated user mobile payments overpass account amount threshold."
message: "Unauthorized refund request. Accumulated user mobile payments overpass account amount threshold."
GENERIC_422_INVALID_PAYMENT_STATUS:
summary: Generic Invalid Payment Status
description: Payment is not in suitable status for refund
Expand Down
20 changes: 10 additions & 10 deletions code/API_definitions/carrier-billing.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ info:
- **Notification URL**: Developers may provide a callback URL (`sink` param) on which status change notifications, regarding the payment, can be received from the Telco Operator. This is an optional parameter.

Following diagram shows the API resources operation sequencing:
![PaymentSequence](https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/main/documentation/API_documentation/resources/Carrier_Billing_sequence_diagram.png)
![PaymentSequence](https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.2/documentation/API_documentation/resources/Carrier_Billing_sequence_diagram.png)

Follow picture provides information about the payment state engine (state description & transition):
![Payment State Engine](https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/main/documentation/API_documentation/resources/Carrier_Billing_State_Engine.JPG)
![Payment State Engine](https://raw.githubusercontent.com/camaraproject/CarrierBillingCheckOut/r3.2/documentation/API_documentation/resources/Carrier_Billing_State_Engine.JPG)

State transitions:

Expand Down Expand Up @@ -136,7 +136,7 @@ info:
# Further info and support

(FAQs will be added in a later version of the documentation)
version: 0.5.0-rc.1
version: 0.5.0
title: Carrier Billing
license:
name: Apache 2.0
Expand All @@ -146,7 +146,7 @@ externalDocs:
description: Product documentation at Camara
url: https://github.com/camaraproject/CarrierBillingCheckOut
servers:
- url: "{apiRoot}/carrier-billing/v0.5rc1"
- url: "{apiRoot}/carrier-billing/v0.5"
variables:
apiRoot:
default: http://localhost:9091
Expand Down Expand Up @@ -1354,19 +1354,19 @@ components:
ErrorInfo:
type: object
required:
- message
- status
- code
- message
properties:
message:
type: string
description: A human-readable description of what the event represents
status:
type: integer
description: HTTP response status code
code:
type: string
description: A human-readable code to describe the error
message:
type: string
description: A human-readable description of what the event represents
responses:
Generic400:
description: Bad Request
Expand Down Expand Up @@ -2078,7 +2078,7 @@ components:
- An identifier is not included in the request and the device or phone number identification cannot be derived from the 3-legged access token ("code": "MISSING_IDENTIFIER","message": "The phone number cannot be identified.")
- An explicit identifier is provided when a device or phone number has already been identified from the access token ("code": "UNNECESSARY_IDENTIFIER","message": "The phone number is already identified by the access token.")
- Unauthorized amount requested ("code": "CARRIER_BILLING.UNAUTHORIZED_AMOUNT","message": "Unauthorized amount requested.").
- Accumulated threshold amount for the user's mobile account overpassed ("code": "CARRIER_BILLING.USER_AMOUNT_THRESHOLD_OVERPASSED","message": "Unathorized payment request. Accumulated user mobile payments overpass account amount threshold.").
- Accumulated threshold amount for the user's mobile account overpassed ("code": "CARRIER_BILLING.USER_AMOUNT_THRESHOLD_OVERPASSED","message": "Unauthorized payment request. Accumulated user mobile payments overpass account amount threshold.").
headers:
x-correlator:
$ref: "#/components/headers/x-correlator"
Expand Down Expand Up @@ -2131,7 +2131,7 @@ components:
value:
status: 422
code: CARRIER_BILLING.USER_AMOUNT_THRESHOLD_OVERPASSED
message: "Unathorized payment request. Accumulated user mobile payments overpass account amount threshold."
message: "Unauthorized payment request. Accumulated user mobile payments overpass account amount threshold."
PaymentSecondStepUnprocessable422:
description: |-
Client indicates content that is understable by the Server but unable to be processed.
Expand Down
4 changes: 2 additions & 2 deletions code/Test_definitions/carrier-billing-cancelPayment.feature
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Feature: CAMARA Carrier Billing API, v0.5.0-rc.1 - Operation cancelPayment
Feature: CAMARA Carrier Billing API, v0.5.0 - Operation cancelPayment
# Input to be provided by the implementation to the tester
#
# Implementation indications:
Expand All @@ -10,7 +10,7 @@ Feature: CAMARA Carrier Billing API, v0.5.0-rc.1 - Operation cancelPayment
# References to OAS spec schemas refer to schemas specifies in carrier-billing.yaml

Background: Common cancelPayment setup
Given the resource "/carrier-billing/v0.5rc1/payments/{paymentId}/cancel"
Given the resource "/carrier-billing/v0.5/payments/{paymentId}/cancel"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Feature: CAMARA Carrier Billing API, v0.5.0-rc.1 - Operation confirmPayment
Feature: CAMARA Carrier Billing API, v0.5.0 - Operation confirmPayment
# Input to be provided by the implementation to the tester
#
# Implementation indications:
Expand All @@ -11,7 +11,7 @@ Feature: CAMARA Carrier Billing API, v0.5.0-rc.1 - Operation confirmPayment
# References to OAS spec schemas refer to schemas specifies in carrier-billing.yaml

Background: Common confirmPayment setup
Given the resource "/carrier-billing/v0.5rc1/payments/{paymentId}/confirm"
Given the resource "/carrier-billing/v0.5/payments/{paymentId}/confirm"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
Expand Down
Loading