curl --request POST \
--url https://sandbox-platform.jupico.com/v1/transactions/creditcard/capture \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"subMerchantId": "jpt-sim-md-1",
"amount": 50,
"transactionId": "You need to change *this* with transactionId from AUTHORIZATION operation"
}
'import requests
url = "https://sandbox-platform.jupico.com/v1/transactions/creditcard/capture"
payload = {
"subMerchantId": "jpt-sim-md-1",
"amount": 50,
"transactionId": "You need to change *this* with transactionId from AUTHORIZATION operation"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subMerchantId: 'jpt-sim-md-1',
amount: 50,
transactionId: 'You need to change *this* with transactionId from AUTHORIZATION operation'
})
};
fetch('https://sandbox-platform.jupico.com/v1/transactions/creditcard/capture', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://sandbox-platform.jupico.com/v1/transactions/creditcard/capture';
const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subMerchantId: 'jpt-sim-md-1',
amount: 50,
transactionId: 'You need to change *this* with transactionId from AUTHORIZATION operation'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"data": {
"status": "<string>",
"approvalNumber": "<string>",
"transactionId": "<string>",
"operation": "<string>",
"subMerchantId": "<string>",
"amount": 123,
"txDate": "<string>",
"referenceNumber": "<string>",
"description": "<string>",
"billing": {
"address": "<string>",
"city": "<string>",
"zipCode": "<string>",
"state": "<string>",
"country": "<string>",
"name": "<string>"
},
"paymentMethod": {
"type": "<string>",
"eCheck": {},
"cc": {
"card": {
"last4Digits": "<string>",
"expirationYear": "<string>",
"expirationMonth": "<string>",
"logo": "<string>"
},
"token": "<string>",
"cardHolderInitiated": true
}
},
"balanceAmount": 123
},
"success": true,
"message": "<string>",
"code": "<string>"
}Capture an authorization
A capture confirms a previous authorization and initiates settlement, charging the customer. The capture amount may exceed the authorized amount up to an allowable excess limit determined by the issuing bank.
curl --request POST \
--url https://sandbox-platform.jupico.com/v1/transactions/creditcard/capture \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"subMerchantId": "jpt-sim-md-1",
"amount": 50,
"transactionId": "You need to change *this* with transactionId from AUTHORIZATION operation"
}
'import requests
url = "https://sandbox-platform.jupico.com/v1/transactions/creditcard/capture"
payload = {
"subMerchantId": "jpt-sim-md-1",
"amount": 50,
"transactionId": "You need to change *this* with transactionId from AUTHORIZATION operation"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subMerchantId: 'jpt-sim-md-1',
amount: 50,
transactionId: 'You need to change *this* with transactionId from AUTHORIZATION operation'
})
};
fetch('https://sandbox-platform.jupico.com/v1/transactions/creditcard/capture', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://sandbox-platform.jupico.com/v1/transactions/creditcard/capture';
const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subMerchantId: 'jpt-sim-md-1',
amount: 50,
transactionId: 'You need to change *this* with transactionId from AUTHORIZATION operation'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"data": {
"status": "<string>",
"approvalNumber": "<string>",
"transactionId": "<string>",
"operation": "<string>",
"subMerchantId": "<string>",
"amount": 123,
"txDate": "<string>",
"referenceNumber": "<string>",
"description": "<string>",
"billing": {
"address": "<string>",
"city": "<string>",
"zipCode": "<string>",
"state": "<string>",
"country": "<string>",
"name": "<string>"
},
"paymentMethod": {
"type": "<string>",
"eCheck": {},
"cc": {
"card": {
"last4Digits": "<string>",
"expirationYear": "<string>",
"expirationMonth": "<string>",
"logo": "<string>"
},
"token": "<string>",
"cardHolderInitiated": true
}
},
"balanceAmount": 123
},
"success": true,
"message": "<string>",
"code": "<string>"
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Body
To test this endpoint you need to make an AUTHORIZATION request first
Unique identifier of the submerchant.
The amount to capture. May exceed the authorized amount up to the issuer's allowable excess limit.
Identifier of the authorization to capture.
Free-text description.
The total amount of sales tax must be between: Visa percentage: 0.1% - 18% MasterCard percentage: 0.1% - 23% Default percentage: 0.1% - 50%
When true, the sales tax portion is withheld from the merchant's settlement until released.
Your own reference for this transaction. Returned in responses and query results for reconciliation.
Defines the platform fee that the service provider charges the merchant for the transaction. The fee is calculated using fixed and discountRatePerc and deducted from the merchant's transaction proceeds when payouts are calculated. It does not increase or otherwise modify the transaction amount submitted for processing.
Defines the payment-processing fee that the service provider charges the merchant for the transaction. The fee is calculated using the supported fixed and percentage values, deducted from the merchant's transaction proceeds, and accounted for separately from the platform fee. It does not increase or otherwise modify the transaction amount submitted for processing.
metadata is an object that can host as much as 50 key-value pairs, where the keys can be at most 40 char length and can’t include the characters “[“ or “]”, and the values must be strings and cannot exceed 500 chars Learn more about metadata
Hide child attributes
Hide child attributes
500Response
Successful fund capture
The response payload.
Hide child attributes
Hide child attributes
Current status.
Approval code returned by the issuing bank.
Identifier of the authorization to capture.
Transaction operation type (for example, sale, authorization, refund).
Unique identifier of the submerchant.
The amount of the transaction.
Date and time of the transaction (ISO 8601).
Processor reference number for the transaction.
Free-text description.
Billing contact and address details for the payer.
Hide child attributes
Hide child attributes
Details of the payment method used.
Hide child attributes
Hide child attributes
The type.
eCheck (ACH) acceptance settings.
Card payment method details.
Hide child attributes
Hide child attributes
Card details.
Hide child attributes
Hide child attributes
Last 4 digits of the card number.
Two-digit expiration year.
Two-digit expiration month (01-12).
Card brand logo identifier.
The token value.
True when the cardholder actively initiates the payment; false for merchant-initiated transactions such as recurring charges.
Remaining balance on the transaction after captures, refunds, and voids.
Whether the request was processed successfully. Declines return HTTP 200 with success: false.
Human-readable result message.
Machine-readable result code. See the Error Codes reference.
Was this page helpful?

