AI-generated Key Takeaways
-
Initiates a transfer for a QR code payment using card details and returns the payment attempt result.
-
The
requestId
andpaymentIntegratorAccountId
combination ensures idempotency, uniquely identifying each transaction. -
Requests require card data (number, expiration, cryptogram, network), QR code data, and a request header.
-
Responses include a response header and result, with potential errors indicated by an
ErrorResponse
. -
Card network details include the card scheme (e.g., VISA) and an optional Electronic Commerce Indicator (ECI).
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. |