...
To use Bango's test payment provider 'TestPay' to test these scenarios generate a userId using the following details:
...
4.1 Start then commit a transaction
Test | Action | Expected result |
---|
1 | Start a transaction Send a valid POST request to https://api.bango.net/v5/transaction Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "3.00",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "0.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
"transactionId": "{Bango-transaction-id}"
} |
|
2 | (Optional) Retrieve transaction information Send a GET request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success." ,
"transaction":
{
"transactionId": "{Bango-transaction-id}",
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethod":
{
"type": "OPERATORBILLING",
"key": "{network-name}",
"description": "Direct operator billing",
"parameters":
{
}
},
"paymentItems":
[
{
"price":
{
"grossAmount": "0.99",
"taxAmount": "0.00",
"currencyIso3": "USD"
},
"itemName": "Item name",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
}
}
} |
|
3 | Commit the transaction Send a valid PUT request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
} |
|
...
4.2 Start then cancel a transaction
Test | Action | Expected result |
---|
1 | Start a transaction Send a valid POST request to https://api.bango.net/v5/transaction Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "3.00",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "0.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
"transactionId": "{Bango-transaction-id}"
} |
|
2 | (Optional) Retrieve transaction information Send a GET request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success." ,
"transaction":
{
"transactionId": "{Bango-transaction-id}",
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethod":
{
"type": "OPERATORBILLING",
"key": "{network-name}",
"description": "Direct operator billing",
"parameters":
{
}
},
"paymentItems":
[
{
"price":
{
"grossAmount": "0.99",
"taxAmount": "0.00",
"currencyIso3": "USD"
},
"itemName": "Item name",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
}
}
} |
|
3 | Cancel the transaction Send a valid DELETE request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "CANCELLED",
"responseMessage": "The transaction was cancelled successfully."
} |
|
...
4.3 Start, commit then refund a transaction
Test | Action | Expected result |
---|
1 | Start a transaction Send a valid POST request to https://api.bango.net/v5/transaction Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "3.00",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "0.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
"transactionId": "{Bango-transaction-id}"
} |
|
2 | (Optional) Retrieve transaction information Send a GET request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success." ,
"transaction":
{
"transactionId": "{Bango-transaction-id}",
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethod":
{
"type": "OPERATORBILLING",
"key": "{network-name}",
"description": "Direct operator billing",
"parameters":
{
}
},
"paymentItems":
[
{
"price":
{
"grossAmount": "0.99",
"taxAmount": "0.00",
"currencyIso3": "USD"
},
"itemName": "Item name",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
}
}
} |
|
3 | Commit the transaction Send a valid PUT request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
} |
|
4 | Refund the transaction Send a valid DELETE request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "REFUNDED",
"responseMessage": "The transaction was refunded successfully."
} |
|
...
4.4 Start and partially commit a transaction
Test | Action | Expected result |
---|
1 | Start a transaction Send a valid POST request to https://api.bango.net/v5/transaction Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "3.00",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "0.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
"transactionId": "{Bango-transaction-id}"
} |
|
2 | (Optional) Retrieve transaction information Send a GET request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success." ,
"transaction":
{
"transactionId": "{Bango-transaction-id}",
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethod":
{
"type": "OPERATORBILLING",
"key": "{network-name}",
"description": "Direct operator billing",
"parameters":
{
}
},
"paymentItems":
[
{
"price":
{
"grossAmount": "0.99",
"taxAmount": "0.00",
"currencyIso3": "USD"
},
"itemName": "Item name",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
}
}
} |
|
3 | Partially commit the transaction Send a valid PUT request to https://api.bango.net/v5/transaction/{Bango-transaction-id} with a grossAmount or taxAmount lower than the POST
Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "1.00",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "0.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
} |
|
...
Info |
---|
NOTE: Partial commits are not supported by all payment providers. |
Test | Action | Expected result |
---|
1 | Start a transaction Send a valid POST request to https://api.bango.net/v5/transaction Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "3.00",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "0.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
"transactionId": "{Bango-transaction-id}"
} |
|
2 | (Optional) Retrieve transaction information Send a GET request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success." ,
"transaction":
{
"transactionId": "{Bango-transaction-id}",
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethod":
{
"type": "OPERATORBILLING",
"key": "{network-name}",
"description": "Direct operator billing",
"parameters":
{
}
},
"paymentItems":
[
{
"price":
[
{
"grossAmount": "3.00",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "0.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item name",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
}
}
} |
|
3 | Partially commit the transaction Send a valid PUT request to https://api.bango.net/v5/transaction/{Bango-transaction-id} with a grossAmount or taxAmount lower than the POST
Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "1.00",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "0.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
} |
|
4 | Refund the transaction Send a valid DELETE request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "REFUNDED",
"responseMessage": "The transaction was refunded successfully."
} |
The committed amount will be refunded to the user. |
...
Info |
---|
NOTE: Partial refunds are not supported by all payment providers. |
Test | Action | Expected result |
---|
1 | Start a transaction Send a valid POST request to https://api.bango.net/v5/transaction Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "10.99",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "1.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
"transactionId": "{Bango-transaction-id}"
} |
|
2 | (Optional) Retrieve transaction information Send a GET request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success." ,
"transaction":
{
"transactionId": "{Bango-transaction-id}",
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethod":
{
"type": "OPERATORBILLING",
"key": "{network-name}",
"description": "Direct operator billing",
"parameters":
{
}
},
"paymentItems":
[
{
"price":
[
{
"grossAmount": "10.99",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "1.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item name",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
}
}
} |
|
3 | Commit the transaction Send a valid PUT request to https://api.bango.net/v5/transaction/{Bango-transaction-id}
Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
} |
|
4 | Partially refund the transaction Send a valid DELETE request to https://api.bango.net/v5/transaction/{Bango-transaction-id} with a grossAmount and or taxAmount lower than the POST Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "3.00",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "0.50",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "REFUNDED",
"responseMessage": "The transaction was refunded successfully."
} |
The requested amount will be refunded to the user. |
5 | Further partial refunds under remaining amount Subsequent partial refunds can be made up to the amount remaining from the original transaction. | An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "REFUNDED",
"responseMessage": "The transaction was refunded successfully."
} |
The requested amount will be refunded to the user. |
...
Info |
---|
NOTE: Partial commits or refunds are not supported by all payment providers. |
Test | Action | Expected result |
---|
1 | Start a transaction Send a valid POST request to https://api.bango.net/v5/transaction Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "10.99",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "1.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
"transactionId": "{Bango-transaction-id}"
} |
|
2 | (Optional) Retrieve transaction information Send a GET request to https://api.bango.net/v5/transaction/{Bango-transaction-id} Code Block |
---|
No body required |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success." ,
"transaction":
{
"transactionId": "{Bango-transaction-id}",
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethod":
{
"type": "OPERATORBILLING",
"key": "{network-name}",
"description": "Direct operator billing",
"parameters":
{
}
},
"paymentItems":
[
{
"price":
[
{
"grossAmount": "10.99",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "1.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item name",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
}
}
} |
|
3 | Commit the transaction Send a valid PUT request to https://api.bango.net/v5/transaction/{Bango-transaction-id} with a grossAmount and or taxAmount lower than the POST
Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "10.99",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "1.00",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "OK",
"responseMessage": "Success.",
} |
|
4 | Partially refund the transaction Send a valid DELETE request to https://api.bango.net/v5/transaction/{Bango-transaction-id} with a grossAmount and or taxAmount lower than the POST Code Block |
---|
{
"bangoUserId": "123456789",
"externalTransactionId": "{your-transaction-id}",
"paymentMethods":
[
"OPERATORBILLING",
],
"paymentItems":
[
{
"priceList":
[
{
"grossAmount": "1.59",
"currencyIso3": "USD",
"financialBreakdown":
{
"taxAmount": "0.20",
"shippingAmount": "0.00"
}
}
],
"itemName": "Item title",
"itemDescription": "Item description",
"itemCategory": "1",
"externalPaymentItemId": "{your-payment-item-id}",
"submerchantReferenceKey": "{your-submerchant-reference-key}"
}
],
"extensionData":
{
"callbackUrl": "https://{callback-url}",
"notificationUrl": "https://{notification-url}"
}
} |
| An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "REFUNDED",
"responseMessage": "The transaction was refunded successfully."
} |
The requested amount will be refunded to the user. |
5 | Further partial refunds under remaining amount Subsequent partial refunds can be made up to the amount remaining from the original committed amount. | An HTTP response code 200 (OK) should be returned with the following body: Code Block |
---|
{
"responseCode": "REFUNDED",
"responseMessage": "The transaction was refunded successfully."
} |
The requested amount will be refunded to the user. |
...