Request a Transformer payment

This step initiates the Volt payment process. We will validate the details of the payment and return you an ID to track the payment through the Volt journey.

This step requires the Transformer code that was sent in the successful response for the Request BIN lookup endpoint. This code indicates which bank should initiate the transaction.

Authentication

The request has to be authorised with a Bearer token received via our oAuth authentication endpoint, and attached to the Authorisation headers. It will look something like this (note the American spelling of Authorization)

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciO ... F_n1hAeBoplzOfQ

Find out more about API authentication

Request body

See the payment’s request body section here: Request payment – Request body | Volt Developer Hub .  To select the bank automatically, please provide the transformerCode from the BIN Lookup response:

field required type description
transformerCode yes string The transformerCode returned from a successful BIN lookup

Example request

  • Sandbox
  • Production
POST https://api.sandbox.volt.io/v2/payments
{
   "currencyCode": "EUR",
   "amount": "100",
   "type": "BILL",
   "uniqueReference": "uniquereference",
   "transformerCode": "XYZ",
   "payer": {
       "reference": "payerreference"
   }
}
POST https://api.volt.io/v2/payments
{
   "currencyCode": "EUR",
   "amount": "100",
   "type": "BILL",
   "uniqueReference": "uniquereference",
   "transformerCode": "XYZ",
   "payer": {
       "reference": "payerreference"
   }
}

Responses

201 Created (Successful payment request)

If your request was successful, the response from this endpoint will contain a 201 Created status and the body will contain the ID of your payment. You will need the ID in the next step that includes redirecting to Volt Checkout (please see here: Redirecting to Volt | Volt Developer Hub

Example success response (HTTP 201)
{
   "id": "uuid"
}
400 Bad request (Code already used / code missing)

The transformerCode passed in the request has been already used for making a payment, or is missing.

See the additional possible error responses here: Request payment – Response | Volt Developer Hub 

Example bad request response (HTTP 400)
{
    "exception": {
        "code": 400,
        "message": "Validation exception",
        "errorList": [
            {
                "property": "transformerCode",
                "message": "Transformer code does not exist."
            }
        ]
    }
}