Method: transfer

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 (RequestHeader)
  },
  "cardData": {
    object (CardData)
  },
  "qrCode": string
}
Fields
requestHeader

object (RequestHeader)

REQUIRED: Common header for all requests.

cardData

object (CardData)

REQUIRED: The card data.

qrCode

string

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 response_type can be only one of the following:
  "response": {
    object (TransferResponse)
  },
  "errorResponse": {
    object (ErrorResponse)
  }
  // End of list of possible types for union field response_type.
}
Possible response messages
HTTP 200 Status

object (TransferResponse)

HTTP 4XX / 5XX Status

object (ErrorResponse)

CardData

The payment card details.

JSON representation
{
  "cardNumber": string,
  "expirationMonth": string,
  "expirationYear": string,
  "cryptogram": string,
  "cardNetwork": {
    object (CardNetwork)
  }
}
Fields
cardNumber

string

REQUIRED: DPAN

expirationMonth

string (Int64Value format)

REQUIRED: Card expiration month. Valid values are 1-12.

expirationYear

string (Int64Value format)

REQUIRED: Card expiration year. Expects a four digit year.

cryptogram

string

REQUIRED: Token cryptogram.

cardNetwork

object (CardNetwork)

REQUIRED: The card network e.g. VISA, MASTERCARD, etc.

CardNetwork

The card network for the transaction.

JSON representation
{
  "cardScheme": enum (CardNetworkType),
  "eciIndicator": string
}
Fields
cardScheme

enum (CardNetworkType)

REQUIRED: The card network name e.g. MASTERCARD or VISA.

eciIndicator

string

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 (ResponseHeader)
  },
  "result": {
    object (TransferResult)
  }
}
Fields
responseHeader

object (ResponseHeader)

REQUIRED: Common header for all responses.

result

object (TransferResult)

REQUIRED: Contains the result of the request.