New payment request

POST
/v2/payments

The first step is to submit the details of the payment you'd like to initiate. We'll validate that all the required data is supplied and that it's a payment that Volt can support.

Step-by-step instructions for payment initiation are available in our integration guides area.

AuthorizationBearer <token>

OAuth2 password grant - see the documentation in the oAuth2 Authentication section

In: header

Request Body

application/json

Details of the payment you'd like to initiate

currencyCode*string

Currency in which the payment should be made, in ISO 4217 format (3 uppercase letters)

Length3 <= length <= 3
amount*integer

The amount of the transaction in 1/100 units (pence, cents etc)

type*string

The transaction type (predefined, please select the most appropriate for your transaction)

Value in"BILL" | "GOODS" | "PERSON_TO_PERSON" | "OTHER" | "SERVICES"
uniqueReference?string

Unique reference for the payment from the merchant, must contain only alphanumeric characters

Lengthlength <= 18
merchantInternalReference?string

A field which identifies the transaction in the merchant's system, which can be used as a longer alternative to the uniqueReference field. This field can contain up to 100 characters, including special ones.

  • If the uniqueReference value is provided, then this field is optional

  • If this field contains a value but uniqueReference is not provided, a uniqueReference will be automatically generated by Volt

Lengthlength <= 100
shopper*

Information about the shopper

bank?string

UUID of the bank selected to originate the payment

Formatiri-reference
callback?string

Query string which will be returned to the merchant

notificationUrl?string

External URL where the notification is going to be sent when the payment status changes

paymentSuccessUrl?string

URL where the user is redirected after a successful payment. This will overwrite the application configuration set in Fuzebox. Only provide a value here if you need to overwrite it.

paymentFailureUrl?string

URL where the user is redirected after a failed payment. This will overwrite the application configuration set in Fuzebox. Only provide a value here if you need to overwrite it.

paymentPendingUrl?string

URL where the user is redirected if payment is pending. This will overwrite the application configuration set in Fuzebox. Only provide a value here if you need to overwrite it.

paymentCancelUrl?string

URL where the user is redirected after cancelling a payment. This will overwrite the application configuration set in Fuzebox. Only provide a value here if you need to overwrite it.

checkoutCountries?array<>

This field should be used only if you require to limit the countries that are visible to the Shopper for this specific payment. Without providing values in this field all the countries that are setup in your Fuzebox account will be available for Shopper to select from

Response Body

application/json

application/json

curl -X POST "https://api.sandbox.volt.io/v2/payments" \  -H "Content-Type: application/json" \  -d '{    "currencyCode": "GBP",    "amount": 12345,    "type": "OTHER",    "shopper": {      "reference": "user-13489"    }  }'
{
  "id": "93b85f3c-76eb-4316-b1ae-f3370ddc59bc",
  "checkoutUrl": "https://checkout.volt.io/93b85f3c-76eb-4316-b1ae-f3370ddc59bc?auth=jwtToken"
}