curl --request POST \
--url https://api.sandbox.primer.io/payments/{id}/adjust-authorization \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--header 'X-API-VERSION: <x-api-version>' \
--data '
{
"amount": 1,
"expand": [
[
"transactions.events"
]
]
}
'import requests
url = "https://api.sandbox.primer.io/payments/{id}/adjust-authorization"
payload = {
"amount": 1,
"expand": [["transactions.events"]]
}
headers = {
"X-API-VERSION": "<x-api-version>",
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-API-VERSION': '<x-api-version>',
'X-API-KEY': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({amount: 1, expand: [['transactions.events']]})
};
fetch('https://api.sandbox.primer.io/payments/{id}/adjust-authorization', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.primer.io/payments/{id}/adjust-authorization",
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,
'expand' => [
[
'transactions.events'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>",
"X-API-VERSION: <x-api-version>"
],
]);
$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 := "https://api.sandbox.primer.io/payments/{id}/adjust-authorization"
payload := strings.NewReader("{\n \"amount\": 1,\n \"expand\": [\n [\n \"transactions.events\"\n ]\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-VERSION", "<x-api-version>")
req.Header.Add("X-API-KEY", "<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("https://api.sandbox.primer.io/payments/{id}/adjust-authorization")
.header("X-API-VERSION", "<x-api-version>")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 1,\n \"expand\": [\n [\n \"transactions.events\"\n ]\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.primer.io/payments/{id}/adjust-authorization")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-VERSION"] = '<x-api-version>'
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 1,\n \"expand\": [\n [\n \"transactions.events\"\n ]\n ]\n}"
response = http.request(request)
puts response.read_bodyAdjust authorized amount
Adjust authorized amount. This is only possible if authorizationType was set to
ESTIMATED when the payment was created, and the mechanism is supported by the payment method.
Failed request limit: Primer limits how many failed requests a single
payment can have. Failed capture, cancel, refund and adjust-authorization
requests all count towards the same limit, which is currently 100 per payment.
Once a payment reaches the limit, any further capture, cancel, refund or
adjust-authorization request for that payment is rejected with a 409 and the
error ID PaymentRequestLimitExceeded. The rejected request is not sent to the
processor. Do not retry after this error: retrieve the payment to see why its
previous requests failed, and contact Primer support if you need the payment
unblocked.
curl --request POST \
--url https://api.sandbox.primer.io/payments/{id}/adjust-authorization \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--header 'X-API-VERSION: <x-api-version>' \
--data '
{
"amount": 1,
"expand": [
[
"transactions.events"
]
]
}
'import requests
url = "https://api.sandbox.primer.io/payments/{id}/adjust-authorization"
payload = {
"amount": 1,
"expand": [["transactions.events"]]
}
headers = {
"X-API-VERSION": "<x-api-version>",
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-API-VERSION': '<x-api-version>',
'X-API-KEY': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({amount: 1, expand: [['transactions.events']]})
};
fetch('https://api.sandbox.primer.io/payments/{id}/adjust-authorization', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.primer.io/payments/{id}/adjust-authorization",
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,
'expand' => [
[
'transactions.events'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>",
"X-API-VERSION: <x-api-version>"
],
]);
$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 := "https://api.sandbox.primer.io/payments/{id}/adjust-authorization"
payload := strings.NewReader("{\n \"amount\": 1,\n \"expand\": [\n [\n \"transactions.events\"\n ]\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-VERSION", "<x-api-version>")
req.Header.Add("X-API-KEY", "<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("https://api.sandbox.primer.io/payments/{id}/adjust-authorization")
.header("X-API-VERSION", "<x-api-version>")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 1,\n \"expand\": [\n [\n \"transactions.events\"\n ]\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.primer.io/payments/{id}/adjust-authorization")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-VERSION"] = '<x-api-version>'
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 1,\n \"expand\": [\n [\n \"transactions.events\"\n ]\n ]\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Headers
Optional key to make the request idempotent. Enables a safe retry of a request without risking the user being charged or refunded multiple times. The idempotency key must be generated by the client and needs to be unique for every new request.
Specifies the version of the API to use. This must be set to 2.4.
"2.4"
Path Parameters
ID of payment for adjusting authorization.
8 - 9^[a-zA-Z0-9]{8,9}$Body
The final amount you would like to charge the customer, in minor units. e.g. for $7, use 700.
Some currencies, such as Japanese Yen, do not have minor units. In this case you should use the value as it is, without any formatting. For example for ¥100, use 100.
If the amount is provided on this level, it would override any amount calculated from the provided line items, shipping and other amounts.
x >= 0A list of fields to expand, such as transactions.events.
transactions.events Response
Successful Response
The unique payment ID.
You can use this ID to retrieve the payment details, or perform downstream operations.
The date and time at which the payment was created in UTC format.
The date and time of the last payment update in UTC format.
See the payment status table for more information.
PENDING, FAILED, AUTHORIZED, SETTLING, PARTIALLY_SETTLED, SETTLED, DECLINED, CANCELLED Your reference for the payment.
255The 3-letter currency code in ISO 4217 format. e.g. use USD for US dollars.
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYR, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MKD, MMK, MNT, MOP, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VED, VES, VND, VUV, WST, XAF, XCD, XCG, XOF, XPF, YER, ZAR, ZMW, ZWG, ZWL The amount you charged the customer, in minor units.
x >= 0The payment method options provided in the request, as well as the token used to process the payment.
Show child attributes
Show child attributes
A list summarizing the transactions that occurred while processing the payment.
Note: a refund is a separate transaction and so will appear in this transactions list if a refund was performed.
Show child attributes
Show child attributes
The type of card token used for the payment.
Only applies for card payments.
CARD_PAN, NETWORK_TOKEN, PROCESSOR_TOKEN "CARD_PAN"
More information associated with the order.
Show child attributes
Show child attributes
The unique identifier for your customer.
255More information associated with the customer.
Show child attributes
Show child attributes
Additional data to be used throughout the payment lifecycle.
More information associated with the payment processor, including the processor name.
Show child attributes
Show child attributes
Required action to perform in order to resume the payment workflow. This can be requiring a 3DS check from the customer for instance.
Show child attributes
Show child attributes
Check this field for more information regarding the payment's status. This is especially useful when the status is DECLINED or FAILED.
Show child attributes
Show child attributes
Risk data associated with this payment.
Show child attributes
Show child attributes