curl --request POST \
--url https://sandbox-platform.jupico.com/v1/transactions/echeck/sale \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"subMerchantId": "jpt-sim-md-1",
"amount": 11.24,
"paymentToken": {
"type": "echeck",
"token": {
"provider": "jupico",
"token": "8b728fb4-976c-43c1-8402-04c23ac18861"
}
}
}
'import requests
url = "https://sandbox-platform.jupico.com/v1/transactions/echeck/sale"
payload = {
"subMerchantId": "jpt-sim-md-1",
"amount": 11.24,
"paymentToken": {
"type": "echeck",
"token": {
"provider": "jupico",
"token": "8b728fb4-976c-43c1-8402-04c23ac18861"
}
}
}
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: 11.24,
paymentToken: {
type: 'echeck',
token: {provider: 'jupico', token: '8b728fb4-976c-43c1-8402-04c23ac18861'}
}
})
};
fetch('https://sandbox-platform.jupico.com/v1/transactions/echeck/sale', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://sandbox-platform.jupico.com/v1/transactions/echeck/sale';
const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subMerchantId: 'jpt-sim-md-1',
amount: 11.24,
paymentToken: {
type: 'echeck',
token: {provider: 'jupico', token: '8b728fb4-976c-43c1-8402-04c23ac18861'}
}
})
};
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,
"balanceAmount": 123,
"customerId": "<string>",
"parentId": "<string>",
"referenceNumber": "<string>",
"referenceId": "<string>",
"taxAmount": 123,
"txDate": "<string>",
"description": "<string>",
"dynamicFee": {
"discountRatePerc": 123,
"fixed": 123
},
"paymentMethod": {
"cc": {
"card": {}
},
"eCheck": {
"accountType": "<string>",
"routingNumber": "<string>",
"accountNumberLast4": "<string>",
"checkNumber": "<string>",
"checkType": "<string>",
"bankAccToken": "<string>"
}
},
"billing": {
"name": "<string>",
"email": "<string>",
"address": "<string>",
"city": "<string>",
"zipCode": "<string>",
"state": "<string>",
"country": "<string>",
"phone": "<string>"
},
"approvalNumber": "<string>",
"shipping": {
"address": "<string>",
"city": "<string>",
"zipCode": "<string>",
"state": "<string>",
"country": "<string>",
"email": "<string>",
"name": "<string>",
"phone": "<string>"
},
"paymentToken": {
"type": "<string>",
"token": {
"provider": "<string>",
"token": "<string>",
"accountType": "<string>",
"routingLast4Digits": "<string>",
"accountLast4Digits": "<string>",
"accountHolderName": "<string>"
}
}
},
"success": true,
"message": "<string>",
"code": "<string>"
}Process an eCheck sale
Initiates a direct debit (ACH) from the customer’s bank account. If the debit request is accepted, the transaction proceeds to settlement; otherwise the response includes the failure reason. Note that ACH returns can occur days after acceptance.
curl --request POST \
--url https://sandbox-platform.jupico.com/v1/transactions/echeck/sale \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"subMerchantId": "jpt-sim-md-1",
"amount": 11.24,
"paymentToken": {
"type": "echeck",
"token": {
"provider": "jupico",
"token": "8b728fb4-976c-43c1-8402-04c23ac18861"
}
}
}
'import requests
url = "https://sandbox-platform.jupico.com/v1/transactions/echeck/sale"
payload = {
"subMerchantId": "jpt-sim-md-1",
"amount": 11.24,
"paymentToken": {
"type": "echeck",
"token": {
"provider": "jupico",
"token": "8b728fb4-976c-43c1-8402-04c23ac18861"
}
}
}
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: 11.24,
paymentToken: {
type: 'echeck',
token: {provider: 'jupico', token: '8b728fb4-976c-43c1-8402-04c23ac18861'}
}
})
};
fetch('https://sandbox-platform.jupico.com/v1/transactions/echeck/sale', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://sandbox-platform.jupico.com/v1/transactions/echeck/sale';
const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subMerchantId: 'jpt-sim-md-1',
amount: 11.24,
paymentToken: {
type: 'echeck',
token: {provider: 'jupico', token: '8b728fb4-976c-43c1-8402-04c23ac18861'}
}
})
};
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,
"balanceAmount": 123,
"customerId": "<string>",
"parentId": "<string>",
"referenceNumber": "<string>",
"referenceId": "<string>",
"taxAmount": 123,
"txDate": "<string>",
"description": "<string>",
"dynamicFee": {
"discountRatePerc": 123,
"fixed": 123
},
"paymentMethod": {
"cc": {
"card": {}
},
"eCheck": {
"accountType": "<string>",
"routingNumber": "<string>",
"accountNumberLast4": "<string>",
"checkNumber": "<string>",
"checkType": "<string>",
"bankAccToken": "<string>"
}
},
"billing": {
"name": "<string>",
"email": "<string>",
"address": "<string>",
"city": "<string>",
"zipCode": "<string>",
"state": "<string>",
"country": "<string>",
"phone": "<string>"
},
"approvalNumber": "<string>",
"shipping": {
"address": "<string>",
"city": "<string>",
"zipCode": "<string>",
"state": "<string>",
"country": "<string>",
"email": "<string>",
"name": "<string>",
"phone": "<string>"
},
"paymentToken": {
"type": "<string>",
"token": {
"provider": "<string>",
"token": "<string>",
"accountType": "<string>",
"routingLast4Digits": "<string>",
"accountLast4Digits": "<string>",
"accountHolderName": "<string>"
}
}
},
"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
API support various types of use. Required fields are defined by the most basic call. For other uses be sure to send the required information defined in the schema and examples.
Unique identifier of the submerchant.
The amount to debit.
Free-text description.
Unique identifier of the customer.
Check number to record with this debit.
Type of check used for the debit.
Sales tax portion of the amount.
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.
Billing contact and address details for the payer.
Hide child attributes
Hide child attributes
Street address, including number.
City name.
ZIP or postal code.
Two-letter US state code.
Two-letter ISO 3166-1 country code. Sets which state codes and postal code format are validated.
Email address of the payer.
Full name of the payer.
Phone number of the payer.
Shipping contact and address details for the order.
Hide child attributes
Hide child attributes
Street address, including number.
City name.
ZIP or postal code.
Two-letter US state code.
Two-letter ISO 3166-1 country code. Sets which state codes and postal code format are validated.
Email address of the recipient.
Name of the recipient.
Phone number of the recipient.
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 eCheck operation
The response payload.
Hide child attributes
Hide child attributes
Current status.
Unique identifier of the original transaction.
Transaction operation type (for example, sale, authorization, refund).
Unique identifier of the submerchant.
The amount of the transaction.
Remaining balance on the transaction after captures, refunds, and voids.
Unique identifier of the customer.
Identifier of the parent transaction (for example, the authorization behind a capture).
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.
Date and time of the transaction (ISO 8601).
Free-text description.
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.
Details of the payment method used.
Hide child attributes
Hide child attributes
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.
Token of the bank account.
Billing contact and address details for the payer.
Hide child attributes
Hide child attributes
Full name of the payer.
Email address of the payer.
Street address, including number.
City name.
ZIP or postal code.
Two-letter US state code.
Two-letter ISO 3166-1 country code.
Phone number of the payer.
Approval code returned by the issuing bank.
Shipping contact and address details for the order.
Hide child attributes
Hide child attributes
Street address, including number.
City name.
ZIP or postal code.
Two-letter US state code.
Two-letter ISO 3166-1 country code.
Email address of the recipient.
Name of the recipient.
Phone number of the recipient.
The payment credential to charge: a one-time token from the web component or a stored Jupico token.
Hide child attributes
Hide child attributes
Type of token supplied.
Token payload returned by tokenization.
Hide child attributes
Hide child attributes
Payment provider that issued the token (for example, jupico).
The token value.
Bank account type, such as checking.
Last 4 digits of the routing number.
Last 4 digits of the bank account number.
Name on the bank account.
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?

