curl --request POST \
--url http://localhost:3001/api/v1/business/payment/charge \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"amount": 1.01,
"currency": "<string>",
"mpgsSessionId": "SESSION0002abcDEF",
"breezeSessionId": "breeze_sess_abc123",
"browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...",
"browserDetails": {
"acceptHeaders": "<string>",
"colorDepth": 123,
"javaEnabled": true,
"javascriptEnabled": true,
"language": "<string>",
"screenHeight": 123,
"screenWidth": 123,
"timeZone": 123,
"3DSecureChallengeWindowSize": "<string>"
},
"statementDescriptor": {
"name": "ORCHESTRATE",
"phone": "<string>",
"address": {
"city": "<string>",
"company": "<string>",
"country": "<string>",
"postcodeZip": "<string>",
"stateProvince": "<string>",
"street": "<string>"
}
},
"savedTokenId": "<string>",
"returnUrl": "<string>",
"email": "jsmith@example.com",
"description": "<string>",
"metadata": {},
"saveCard": true,
"customerIp": "<string>"
}
'import requests
url = "http://localhost:3001/api/v1/business/payment/charge"
payload = {
"amount": 1.01,
"currency": "<string>",
"mpgsSessionId": "SESSION0002abcDEF",
"breezeSessionId": "breeze_sess_abc123",
"browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...",
"browserDetails": {
"acceptHeaders": "<string>",
"colorDepth": 123,
"javaEnabled": True,
"javascriptEnabled": True,
"language": "<string>",
"screenHeight": 123,
"screenWidth": 123,
"timeZone": 123,
"3DSecureChallengeWindowSize": "<string>"
},
"statementDescriptor": {
"name": "ORCHESTRATE",
"phone": "<string>",
"address": {
"city": "<string>",
"company": "<string>",
"country": "<string>",
"postcodeZip": "<string>",
"stateProvince": "<string>",
"street": "<string>"
}
},
"savedTokenId": "<string>",
"returnUrl": "<string>",
"email": "jsmith@example.com",
"description": "<string>",
"metadata": {},
"saveCard": True,
"customerIp": "<string>"
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 1.01,
currency: '<string>',
mpgsSessionId: 'SESSION0002abcDEF',
breezeSessionId: 'breeze_sess_abc123',
browser: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...',
browserDetails: {
acceptHeaders: '<string>',
colorDepth: 123,
javaEnabled: true,
javascriptEnabled: true,
language: '<string>',
screenHeight: 123,
screenWidth: 123,
timeZone: 123,
'3DSecureChallengeWindowSize': '<string>'
},
statementDescriptor: {
name: 'ORCHESTRATE',
phone: '<string>',
address: {
city: '<string>',
company: '<string>',
country: '<string>',
postcodeZip: '<string>',
stateProvince: '<string>',
street: '<string>'
}
},
savedTokenId: '<string>',
returnUrl: '<string>',
email: 'jsmith@example.com',
description: '<string>',
metadata: {},
saveCard: true,
customerIp: '<string>'
})
};
fetch('http://localhost:3001/api/v1/business/payment/charge', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3001",
CURLOPT_URL => "http://localhost:3001/api/v1/business/payment/charge",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 1.01,
'currency' => '<string>',
'mpgsSessionId' => 'SESSION0002abcDEF',
'breezeSessionId' => 'breeze_sess_abc123',
'browser' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...',
'browserDetails' => [
'acceptHeaders' => '<string>',
'colorDepth' => 123,
'javaEnabled' => true,
'javascriptEnabled' => true,
'language' => '<string>',
'screenHeight' => 123,
'screenWidth' => 123,
'timeZone' => 123,
'3DSecureChallengeWindowSize' => '<string>'
],
'statementDescriptor' => [
'name' => 'ORCHESTRATE',
'phone' => '<string>',
'address' => [
'city' => '<string>',
'company' => '<string>',
'country' => '<string>',
'postcodeZip' => '<string>',
'stateProvince' => '<string>',
'street' => '<string>'
]
],
'savedTokenId' => '<string>',
'returnUrl' => '<string>',
'email' => 'jsmith@example.com',
'description' => '<string>',
'metadata' => [
],
'saveCard' => true,
'customerIp' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:3001/api/v1/business/payment/charge"
payload := strings.NewReader("{\n \"amount\": 1.01,\n \"currency\": \"<string>\",\n \"mpgsSessionId\": \"SESSION0002abcDEF\",\n \"breezeSessionId\": \"breeze_sess_abc123\",\n \"browser\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...\",\n \"browserDetails\": {\n \"acceptHeaders\": \"<string>\",\n \"colorDepth\": 123,\n \"javaEnabled\": true,\n \"javascriptEnabled\": true,\n \"language\": \"<string>\",\n \"screenHeight\": 123,\n \"screenWidth\": 123,\n \"timeZone\": 123,\n \"3DSecureChallengeWindowSize\": \"<string>\"\n },\n \"statementDescriptor\": {\n \"name\": \"ORCHESTRATE\",\n \"phone\": \"<string>\",\n \"address\": {\n \"city\": \"<string>\",\n \"company\": \"<string>\",\n \"country\": \"<string>\",\n \"postcodeZip\": \"<string>\",\n \"stateProvince\": \"<string>\",\n \"street\": \"<string>\"\n }\n },\n \"savedTokenId\": \"<string>\",\n \"returnUrl\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"description\": \"<string>\",\n \"metadata\": {},\n \"saveCard\": true,\n \"customerIp\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:3001/api/v1/business/payment/charge")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 1.01,\n \"currency\": \"<string>\",\n \"mpgsSessionId\": \"SESSION0002abcDEF\",\n \"breezeSessionId\": \"breeze_sess_abc123\",\n \"browser\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...\",\n \"browserDetails\": {\n \"acceptHeaders\": \"<string>\",\n \"colorDepth\": 123,\n \"javaEnabled\": true,\n \"javascriptEnabled\": true,\n \"language\": \"<string>\",\n \"screenHeight\": 123,\n \"screenWidth\": 123,\n \"timeZone\": 123,\n \"3DSecureChallengeWindowSize\": \"<string>\"\n },\n \"statementDescriptor\": {\n \"name\": \"ORCHESTRATE\",\n \"phone\": \"<string>\",\n \"address\": {\n \"city\": \"<string>\",\n \"company\": \"<string>\",\n \"country\": \"<string>\",\n \"postcodeZip\": \"<string>\",\n \"stateProvince\": \"<string>\",\n \"street\": \"<string>\"\n }\n },\n \"savedTokenId\": \"<string>\",\n \"returnUrl\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"description\": \"<string>\",\n \"metadata\": {},\n \"saveCard\": true,\n \"customerIp\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3001/api/v1/business/payment/charge")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 1.01,\n \"currency\": \"<string>\",\n \"mpgsSessionId\": \"SESSION0002abcDEF\",\n \"breezeSessionId\": \"breeze_sess_abc123\",\n \"browser\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...\",\n \"browserDetails\": {\n \"acceptHeaders\": \"<string>\",\n \"colorDepth\": 123,\n \"javaEnabled\": true,\n \"javascriptEnabled\": true,\n \"language\": \"<string>\",\n \"screenHeight\": 123,\n \"screenWidth\": 123,\n \"timeZone\": 123,\n \"3DSecureChallengeWindowSize\": \"<string>\"\n },\n \"statementDescriptor\": {\n \"name\": \"ORCHESTRATE\",\n \"phone\": \"<string>\",\n \"address\": {\n \"city\": \"<string>\",\n \"company\": \"<string>\",\n \"country\": \"<string>\",\n \"postcodeZip\": \"<string>\",\n \"stateProvince\": \"<string>\",\n \"street\": \"<string>\"\n }\n },\n \"savedTokenId\": \"<string>\",\n \"returnUrl\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"description\": \"<string>\",\n \"metadata\": {},\n \"saveCard\": true,\n \"customerIp\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"paymentId": "<string>",
"status": "pending",
"chargedAmount": 10.16,
"serviceFee": 0.16,
"amount": 10,
"currency": "<string>",
"transactionId": "<string>",
"paymentUrl": "<string>",
"refundId": "<string>",
"requiresAction": {},
"createdAt": "2023-11-07T05:31:56Z"
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}Charge a card directly (server-to-server)
Charges a card server-to-server, with no redirect to a hosted page. Name the card in EXACTLY ONE of card, savedTokenId, mpgsSessionId or walletToken: the schema cannot express that constraint, and sending none or more than one is a 400. customerIp must be the IP address of the end customer rather than of your server, because it feeds velocity checks, and the charge is refused without it. Server-to-server charging is entitled per account, so an account that does not hold it gets a 403 pointing at checkout sessions and payment links instead. Charges are idempotent on their own parameters: replaying an identical charge returns the original payment rather than charging twice. A response carrying requiresAction means 3-D Secure is required — send the payer to requiresAction.redirectUrl, then call POST /business/payment/confirm-3ds. Unknown body fields are rejected with a 400 rather than ignored, and numeric strings are coerced to numbers.
curl --request POST \
--url http://localhost:3001/api/v1/business/payment/charge \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"amount": 1.01,
"currency": "<string>",
"mpgsSessionId": "SESSION0002abcDEF",
"breezeSessionId": "breeze_sess_abc123",
"browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...",
"browserDetails": {
"acceptHeaders": "<string>",
"colorDepth": 123,
"javaEnabled": true,
"javascriptEnabled": true,
"language": "<string>",
"screenHeight": 123,
"screenWidth": 123,
"timeZone": 123,
"3DSecureChallengeWindowSize": "<string>"
},
"statementDescriptor": {
"name": "ORCHESTRATE",
"phone": "<string>",
"address": {
"city": "<string>",
"company": "<string>",
"country": "<string>",
"postcodeZip": "<string>",
"stateProvince": "<string>",
"street": "<string>"
}
},
"savedTokenId": "<string>",
"returnUrl": "<string>",
"email": "jsmith@example.com",
"description": "<string>",
"metadata": {},
"saveCard": true,
"customerIp": "<string>"
}
'import requests
url = "http://localhost:3001/api/v1/business/payment/charge"
payload = {
"amount": 1.01,
"currency": "<string>",
"mpgsSessionId": "SESSION0002abcDEF",
"breezeSessionId": "breeze_sess_abc123",
"browser": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...",
"browserDetails": {
"acceptHeaders": "<string>",
"colorDepth": 123,
"javaEnabled": True,
"javascriptEnabled": True,
"language": "<string>",
"screenHeight": 123,
"screenWidth": 123,
"timeZone": 123,
"3DSecureChallengeWindowSize": "<string>"
},
"statementDescriptor": {
"name": "ORCHESTRATE",
"phone": "<string>",
"address": {
"city": "<string>",
"company": "<string>",
"country": "<string>",
"postcodeZip": "<string>",
"stateProvince": "<string>",
"street": "<string>"
}
},
"savedTokenId": "<string>",
"returnUrl": "<string>",
"email": "jsmith@example.com",
"description": "<string>",
"metadata": {},
"saveCard": True,
"customerIp": "<string>"
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 1.01,
currency: '<string>',
mpgsSessionId: 'SESSION0002abcDEF',
breezeSessionId: 'breeze_sess_abc123',
browser: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...',
browserDetails: {
acceptHeaders: '<string>',
colorDepth: 123,
javaEnabled: true,
javascriptEnabled: true,
language: '<string>',
screenHeight: 123,
screenWidth: 123,
timeZone: 123,
'3DSecureChallengeWindowSize': '<string>'
},
statementDescriptor: {
name: 'ORCHESTRATE',
phone: '<string>',
address: {
city: '<string>',
company: '<string>',
country: '<string>',
postcodeZip: '<string>',
stateProvince: '<string>',
street: '<string>'
}
},
savedTokenId: '<string>',
returnUrl: '<string>',
email: 'jsmith@example.com',
description: '<string>',
metadata: {},
saveCard: true,
customerIp: '<string>'
})
};
fetch('http://localhost:3001/api/v1/business/payment/charge', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3001",
CURLOPT_URL => "http://localhost:3001/api/v1/business/payment/charge",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 1.01,
'currency' => '<string>',
'mpgsSessionId' => 'SESSION0002abcDEF',
'breezeSessionId' => 'breeze_sess_abc123',
'browser' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...',
'browserDetails' => [
'acceptHeaders' => '<string>',
'colorDepth' => 123,
'javaEnabled' => true,
'javascriptEnabled' => true,
'language' => '<string>',
'screenHeight' => 123,
'screenWidth' => 123,
'timeZone' => 123,
'3DSecureChallengeWindowSize' => '<string>'
],
'statementDescriptor' => [
'name' => 'ORCHESTRATE',
'phone' => '<string>',
'address' => [
'city' => '<string>',
'company' => '<string>',
'country' => '<string>',
'postcodeZip' => '<string>',
'stateProvince' => '<string>',
'street' => '<string>'
]
],
'savedTokenId' => '<string>',
'returnUrl' => '<string>',
'email' => 'jsmith@example.com',
'description' => '<string>',
'metadata' => [
],
'saveCard' => true,
'customerIp' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:3001/api/v1/business/payment/charge"
payload := strings.NewReader("{\n \"amount\": 1.01,\n \"currency\": \"<string>\",\n \"mpgsSessionId\": \"SESSION0002abcDEF\",\n \"breezeSessionId\": \"breeze_sess_abc123\",\n \"browser\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...\",\n \"browserDetails\": {\n \"acceptHeaders\": \"<string>\",\n \"colorDepth\": 123,\n \"javaEnabled\": true,\n \"javascriptEnabled\": true,\n \"language\": \"<string>\",\n \"screenHeight\": 123,\n \"screenWidth\": 123,\n \"timeZone\": 123,\n \"3DSecureChallengeWindowSize\": \"<string>\"\n },\n \"statementDescriptor\": {\n \"name\": \"ORCHESTRATE\",\n \"phone\": \"<string>\",\n \"address\": {\n \"city\": \"<string>\",\n \"company\": \"<string>\",\n \"country\": \"<string>\",\n \"postcodeZip\": \"<string>\",\n \"stateProvince\": \"<string>\",\n \"street\": \"<string>\"\n }\n },\n \"savedTokenId\": \"<string>\",\n \"returnUrl\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"description\": \"<string>\",\n \"metadata\": {},\n \"saveCard\": true,\n \"customerIp\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:3001/api/v1/business/payment/charge")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 1.01,\n \"currency\": \"<string>\",\n \"mpgsSessionId\": \"SESSION0002abcDEF\",\n \"breezeSessionId\": \"breeze_sess_abc123\",\n \"browser\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...\",\n \"browserDetails\": {\n \"acceptHeaders\": \"<string>\",\n \"colorDepth\": 123,\n \"javaEnabled\": true,\n \"javascriptEnabled\": true,\n \"language\": \"<string>\",\n \"screenHeight\": 123,\n \"screenWidth\": 123,\n \"timeZone\": 123,\n \"3DSecureChallengeWindowSize\": \"<string>\"\n },\n \"statementDescriptor\": {\n \"name\": \"ORCHESTRATE\",\n \"phone\": \"<string>\",\n \"address\": {\n \"city\": \"<string>\",\n \"company\": \"<string>\",\n \"country\": \"<string>\",\n \"postcodeZip\": \"<string>\",\n \"stateProvince\": \"<string>\",\n \"street\": \"<string>\"\n }\n },\n \"savedTokenId\": \"<string>\",\n \"returnUrl\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"description\": \"<string>\",\n \"metadata\": {},\n \"saveCard\": true,\n \"customerIp\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3001/api/v1/business/payment/charge")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 1.01,\n \"currency\": \"<string>\",\n \"mpgsSessionId\": \"SESSION0002abcDEF\",\n \"breezeSessionId\": \"breeze_sess_abc123\",\n \"browser\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...\",\n \"browserDetails\": {\n \"acceptHeaders\": \"<string>\",\n \"colorDepth\": 123,\n \"javaEnabled\": true,\n \"javascriptEnabled\": true,\n \"language\": \"<string>\",\n \"screenHeight\": 123,\n \"screenWidth\": 123,\n \"timeZone\": 123,\n \"3DSecureChallengeWindowSize\": \"<string>\"\n },\n \"statementDescriptor\": {\n \"name\": \"ORCHESTRATE\",\n \"phone\": \"<string>\",\n \"address\": {\n \"city\": \"<string>\",\n \"company\": \"<string>\",\n \"country\": \"<string>\",\n \"postcodeZip\": \"<string>\",\n \"stateProvince\": \"<string>\",\n \"street\": \"<string>\"\n }\n },\n \"savedTokenId\": \"<string>\",\n \"returnUrl\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"description\": \"<string>\",\n \"metadata\": {},\n \"saveCard\": true,\n \"customerIp\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"paymentId": "<string>",
"status": "pending",
"chargedAmount": 10.16,
"serviceFee": 0.16,
"amount": 10,
"currency": "<string>",
"transactionId": "<string>",
"paymentUrl": "<string>",
"refundId": "<string>",
"requiresAction": {},
"createdAt": "2023-11-07T05:31:56Z"
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "email must be an email",
"statusCode": 400,
"errors": {}
}
}Headers
Body
x >= 0.01Hosted card-session id (SAQ-A) — the card was attached client-side, so no PAN transits your server.
1 - 200"SESSION0002abcDEF"
Show child attributes
Show child attributes
Payer billing address. Optional — when omitted no billing country is sent to the card provider. Axra never substitutes a default: a fabricated country would be declared to the issuer that issued the card.
Show child attributes
Show child attributes
Breeze Risk JS SDK session id from the browser SDK (CIT charges)
1 - 200"breeze_sess_abc123"
EMV-3DS2 payer user-agent string (device.browser)
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ..."
EMV-3DS2 browser signals (device.browserDetails) for a 3DS2 challenge
Show child attributes
Show child attributes
What the cardholder sees on their statement. Optional — when omitted we derive it from your registered business name. Strongly recommended on a shared acquiring MID, where the fallback is the MID registration rather than your name.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
