Terminal Simulation
A Terminal represents a virtual point-of-sale (POS) device registered in the sandbox environment for testing in-person payment flows.
POST /api/v1/simulation/pa/pos/terminals/generate_activation_codePOST /api/v1/simulation/pa/pos/terminals/turn_onPOST /api/v1/simulation/pa/pos/terminals/turn_offPOST /api/v1/simulation/pa/pos/terminals/confirm_payment_intentGET /api/v1/simulation/pa/pos/terminals/payment_scenarios
Generate an Activation Code
POST /api/v1/simulation/pa/pos/terminals/generate_activation_code
Generates an activation code for the terminal owner to enter in the Airwallex web app to activate the terminal device.
UUID of the request.
The activation code read from the terminal
Expiration time of the activation code
| Error status | Description |
|---|---|
| 400 | invalid_argument |
| 401 | credentials_invalid |
| 500 | service_unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/simulation/pa/pos/terminals/generate_activation_code' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "request_id": "123e4567-e89b-12d3-a456-426614174000">}'
1{2 "activation_code": "5W0D3E8L",3 "expires_at": 17610313204164}
Turn on a Terminal
POST /api/v1/simulation/pa/pos/terminals/turn_on
Turns on the terminal device.
Terminal unique identifier.
Terminal device connection status.
CONNECTEDDISCONNECTEDTerminal unique identifier
| Error status | Description |
|---|---|
| 400 | invalid_argument |
| 401 | credentials_invalid |
| 404 | not_found |
| 500 | service_unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/simulation/pa/pos/terminals/turn_on' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "terminal_id": "ter_stnck59hc8ej0qujy">}'
1{2 "connection_status": "CONNECTED",3 "terminal_id": "ter_stnck59hc8ej0qujy"4}
Turn Off a Terminal
POST /api/v1/simulation/pa/pos/terminals/turn_off
Turns off the terminal device.
Terminal unique identifier.
Terminal device connection status.
CONNECTEDDISCONNECTEDTerminal unique identifier
| Error status | Description |
|---|---|
| 400 | invalid_argument |
| 401 | credentials_invalid |
| 404 | not_found |
| 500 | service_unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/simulation/pa/pos/terminals/turn_off' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "terminal_id": "ter_stnck59hc8ej0qujy">}'
1{2 "connection_status": "CONNECTED",3 "terminal_id": "ter_stnck59hc8ej0qujy"4}
Confirm Payment Using a Scenario
POST /api/v1/simulation/pa/pos/terminals/confirm_payment_intent
Confirm the current terminal's linked payment using a specific scenario.
Payment scenario name. You can retrieve supported values using the List payment scenarios API (/api/v1/simulation/pa/pos/terminals/payment_scenarios).
Terminal unique identifier.
The payment intent that has been confirmed
The unique identifier of the payment intent
The status of the payment intent
Terminal unique identifier
| Error status | Description |
|---|---|
| 400 | invalid_argument |
| 401 | credentials_invalid |
| 500 | service_unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/simulation/pa/pos/terminals/confirm_payment_intent' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "payment_scenario_name": "visa_chip_with_pin",> "terminal_id": "ter_stnck59hc8ej0qujy">}'
1{2 "payment_intent": {3 "id": "int_hkstfc294hc8ff7p1nn",4 "status": "REQUIRES_CAPTURE"5 },6 "terminal_id": "ter_stnck59hc8ej0qujy"7}
List all Available Payment Scenarios
GET /api/v1/simulation/pa/pos/terminals/payment_scenarios
Retrieves all payment scenarios supported by the sandbox environment for in-person payment flows.
All available payment scenarios
The description of the payment scenario
The name of the payment scenario
| Error status | Description |
|---|---|
| 400 | invalid_argument |
| 401 | credentials_invalid |
| 500 | service_unavailable |
$curl --request GET \> --url 'https://api.sandbox.airwallex.com/api/v1/simulation/pa/pos/terminals/payment_scenarios' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "items": [3 {4 "description": "Mastercard chip card without PIN verification",5 "name": "mastercard_chip_no_pin"6 }7 ]8}