8 Billing - idempotency
These tests are relevant if you will be using Bango's idempotency capability.
8.1 Start transaction
Test | Action | Expected result |
---|---|---|
1 | Start a transaction Send a valid POST request to https://api.bango.net/v5/transaction with an externalTransactionId | An HTTP response code 200 (OK) should be returned with the following body: { "responseCode": "OK", "responseMessage": "Success.", "transactionId": "{Bango-transaction-id}" } |
2 | Attempt to start a duplicate transaction Send the same POST request any number of times. | The same response will be received for each request. |
8.2 Commit transaction
Test | Action | Expected result |
---|---|---|
1 | Start a transaction Send a valid POST request to https://api.bango.net/v5/transaction | An HTTP response code 200 (OK) should be returned with the following body: { "responseCode": "OK", "responseMessage": "Success.", "transactionId": "{Bango-transaction-id}" } |
2 | Commit the transaction Send a valid PUT request to https://api.bango.net/v5/transaction/{Bango-transaction-id} | An HTTP response code 200 (OK) should be returned with the following body: { "responseCode": "OK", "responseMessage": "Success.", } |
3 | Attempt to commit the same transaction Send the same PUT request any number of times. | The same response will be received for each request. |
8.3 Cancel transaction
Test | Action | Expected result |
---|---|---|
1 | Start a transaction Send a valid POST request to https://api.bango.net/v5/transaction | An HTTP response code 200 (OK) should be returned with the following body: { "responseCode": "OK", "responseMessage": "Success.", "transactionId": "{Bango-transaction-id}" } |
2 | Cancel the transaction Send a valid DELETE request to https://api.bango.net/v5/transaction/{Bango-transaction-id} | An HTTP response code 200 (OK) should be returned with the following body: { "responseCode": "CANCELLED", "responseMessage": "The transaction was cancelled successfully." } |
3 | Attempt to cancel the same transaction Send the same DELETE request any number of times. | The same response will be received for each request. |
8.4 Refund transaction
Test | Action | Expected result |
---|---|---|
1 | Start a transaction Send a valid POST request to https://api.bango.net/v5/transaction | An HTTP response code 200 (OK) should be returned with the following body: { "responseCode": "OK", "responseMessage": "Success.", "transactionId": "{Bango-transaction-id}" } |
2 | Commit the transaction Send a valid PUT request to https://api.bango.net/v5/transaction/{Bango-transaction-id} | An HTTP response code 200 (OK) should be returned with the following body: { "responseCode": "OK", "responseMessage": "Success.", } |
3 | Refund the transaction Send a valid DELETE request to https://api.bango.net/v5/transaction/{Bango-transaction-id} | An HTTP response code 200 (OK) should be returned with the following body: { "responseCode": "REFUNDED", "responseMessage": "The transaction was refunded successfully." } |
4 | Attempt to refund the same transaction Send the same DELETE request any number of times. | The same response will be received for each request. |