curl --request POST \
--url https://sandbox-platform.jupico.com/v1/transactions/creditcard/void \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"subMerchantId": "jpt-sim-md-1",
"transactionId": "You need to change *this* with transactionId from operation"
}
'import requests
url = "https://sandbox-platform.jupico.com/v1/transactions/creditcard/void"
payload = {
"subMerchantId": "jpt-sim-md-1",
"transactionId": "You need to change *this* with transactionId from 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',
transactionId: 'You need to change *this* with transactionId from operation'
})
};
fetch('https://sandbox-platform.jupico.com/v1/transactions/creditcard/void', 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/void';
const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subMerchantId: 'jpt-sim-md-1',
transactionId: 'You need to change *this* with transactionId from operation'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"data": {
"status": "<string>",
"transactionId": "<string>",
"operation": "<string>",
"subMerchantId": "<string>",
"amount": 123,
"customerId": "<string>",
"parentId": "<string>",
"txDate": "<string>",
"referenceNumber": "<string>",
"referenceId": "<string>",
"taxAmount": 123,
"description": "<string>",
"billing": {
"address": "<string>",
"city": "<string>",
"zipCode": "<string>",
"state": "<string>",
"country": "<string>",
"name": "<string>"
},
"shipping": {},
"paymentMethod": {
"type": "<string>",
"eCheck": {
"accountType": "<string>",
"routingNumber": "<string>",
"accountNumberLast4": "<string>",
"checkNumber": "<string>",
"checkType": "<string>"
},
"cc": {
"card": {
"last4Digits": "<string>",
"expirationYear": "<string>",
"expirationMonth": "<string>",
"logo": "<string>"
},
"token": "<string>"
}
},
"ticketNumber": "<string>",
"balanceAmount": 123
},
"success": true,
"message": "<string>",
"code": "<string>"
}Void a card transaction
Cancels a transaction that has not yet settled, so the customer is never charged. Once a transaction has settled, use Refund instead.
curl --request POST \
--url https://sandbox-platform.jupico.com/v1/transactions/creditcard/void \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"subMerchantId": "jpt-sim-md-1",
"transactionId": "You need to change *this* with transactionId from operation"
}
'import requests
url = "https://sandbox-platform.jupico.com/v1/transactions/creditcard/void"
payload = {
"subMerchantId": "jpt-sim-md-1",
"transactionId": "You need to change *this* with transactionId from 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',
transactionId: 'You need to change *this* with transactionId from operation'
})
};
fetch('https://sandbox-platform.jupico.com/v1/transactions/creditcard/void', 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/void';
const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subMerchantId: 'jpt-sim-md-1',
transactionId: 'You need to change *this* with transactionId from operation'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"data": {
"status": "<string>",
"transactionId": "<string>",
"operation": "<string>",
"subMerchantId": "<string>",
"amount": 123,
"customerId": "<string>",
"parentId": "<string>",
"txDate": "<string>",
"referenceNumber": "<string>",
"referenceId": "<string>",
"taxAmount": 123,
"description": "<string>",
"billing": {
"address": "<string>",
"city": "<string>",
"zipCode": "<string>",
"state": "<string>",
"country": "<string>",
"name": "<string>"
},
"shipping": {},
"paymentMethod": {
"type": "<string>",
"eCheck": {
"accountType": "<string>",
"routingNumber": "<string>",
"accountNumberLast4": "<string>",
"checkNumber": "<string>",
"checkType": "<string>"
},
"cc": {
"card": {
"last4Digits": "<string>",
"expirationYear": "<string>",
"expirationMonth": "<string>",
"logo": "<string>"
},
"token": "<string>"
}
},
"ticketNumber": "<string>",
"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 SALE request first
Unique identifier of the submerchant.
Identifier of the transaction to void.
Free-text description.
Your own reference for this transaction. Returned in responses and query results for reconciliation.
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
500The text that appears on the cardholder’s statement, overriding the default business name.
25"SMITHS STORE"
Response
Successful void
The response payload.
Hide child attributes
Hide child attributes
Current status.
Identifier of the transaction to void.
Transaction operation type (for example, sale, authorization, refund).
Unique identifier of the submerchant.
The amount of the transaction.
Unique identifier of the customer.
Identifier of the parent transaction (for example, the authorization behind a capture).
Date and time of the transaction (ISO 8601).
Processor reference number for the transaction.
Your own reference for this transaction. Returned in responses and query results for reconciliation.
Sales tax portion of the amount.
Free-text description.
Billing contact and address details for the payer.
Hide child attributes
Hide child attributes
Shipping contact and address details for the order.
Details of the payment method used.
Hide child attributes
Hide child attributes
The type.
eCheck (ACH) acceptance settings.
Hide child attributes
Hide child attributes
Bank account type, such as checking.
9-digit ABA routing number.
Last 4 digits of the bank account number.
Check number to record with this debit.
Type of check used for the debit.
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.
Ticket or order number associated with the transaction.
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?

