Initiates transfer for a QR code payment.
The response to this message will return the result of the payment attempt. The requestId
within the header is the idempotency key and uniquely identifies this transaction.
If the endpoint encounters an error while processing the request, the response body from this endpoint should be of type
.ErrorResponse
An example request looks like:
{
"requestHeader": {
"protocolVersion": {
"major": 1
},
"requestId": "qierozie12345",
"requestTimestamp": {
"epochMillis": "1481899949606"
},
"paymentIntegratorAccountId": "QrPay_USD"
},
"cardData": {
"cardNumber": "111122223333444",
"expirationMonth": "10",
"expirationYear": "2030",
"cryptogram": "cryptogram123",
"cardNetwork" : {
"cardScheme": "VISA",
"eciIndicator": "05"
}
},
"qrCode": "000201010212268500150000000000005000000000000000000000000"
}
An example success response looks like:
{
"responseHeader": {
"responseTimestamp": {
"epochMillis": "1481899949611"
}
},
"result": {
"success": {
"referenceLabel": "reference-label",
"transactionTimestamp": {
"epochMillis": "123456789"
},
"merchantId": "0000000037451839",
"acquirerId": "6449028866",
"terminalId": "FC000106",
"authorizationCode": "120059",
"hostNsu": "001837",
"terminalNsu": "110720",
"authorizationCode": "1228899800999",
"cardScheme": "VISA"
}
}
}
HTTP request
POST https://www.integratorhost.example.com/integrator-base-path/cards-qr-v1/transfer
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "requestHeader": { object ( |
Fields | |
---|---|
requestHeader |
REQUIRED: Common header for all requests. |
cardData |
REQUIRED: The card data. |
qrCode |
REQUIRED: String representation of the scanned QR code. This contains the merchant's name, location and payment information. |
Response body
This method supports multiple return types. For additional information about what 4XX or 5XX HTTP status code to return with an ErrorResponse
, consult the ErrorResponse
object and HTTP status codes documentation.
JSON representation |
---|
{ // Union field |
Possible response messages | |
---|---|
HTTP 200 Status |
|
HTTP 4XX / 5XX Status |
|
CardData
The payment card details.
JSON representation |
---|
{
"cardNumber": string,
"expirationMonth": string,
"expirationYear": string,
"cryptogram": string,
"cardNetwork": {
object ( |
Fields | |
---|---|
cardNumber |
REQUIRED: DPAN |
expirationMonth |
REQUIRED: Card expiration month. Valid values are 1-12. |
expirationYear |
REQUIRED: Card expiration year. Expects a four digit year. |
cryptogram |
REQUIRED: Token cryptogram. |
cardNetwork |
REQUIRED: The card network e.g. VISA, MASTERCARD, etc. |
CardNetwork
The card network for the transaction.
JSON representation |
---|
{
"cardScheme": enum ( |
Fields | |
---|---|
cardScheme |
REQUIRED: The card network name e.g. MASTERCARD or VISA. |
eciIndicator |
OPTIONAL: String representation of ECI. This field is the Electronic Commerce Indicator to determine who is liable for fraud/chargebacks. |
TransferResponse
The response body object for the cards-qr-v1.transfer method.
JSON representation |
---|
{ "responseHeader": { object ( |
Fields | |
---|---|
responseHeader |
REQUIRED: Common header for all responses. |
result |
REQUIRED: Contains the result of the request. |