Endpoints

https://api.ebanx.com/ws/request

https://sandbox.ebanx.com/ws/request

HTTP Method

POST

Response

JSON

This method allows you to create a payment using EBANX Checkout, where the customer is redirected to EBANX’s website to enter his data.

Request parameters

integration_key

string, length 100, required

Your unique and secret integration key.

name

string, length 1-100, required

Customer name.

email

string, length 1-100, email, required

Customer email address.

currency_code

string, length 3, ISO 4217, required

Three-letter code of the payment currency. Supported currencies:

  • EUR
  • BRL
  • MXN
  • PEN
  • USD
  • CLP
  • COP

amount

float, required

The amount in the specified currency (currency_code). E.g.: 100.50

merchant_payment_code

string, length 1-40, required if hash not provided

The payment hash Merchant Payment Code (merchant unique ID).

order_number

string, 1-40 length

The order number, optional identifier set by the merchant. You can have multiple payments with the same order number.

payment_type_code

string, length 32, required

The code of the payment method. The supported codes are:

  • _all: all payment methods enabled for the country.
  • amex: American Express credit card (Brazil, Mexico).
  • aura: Aura credit card (Brazil).
  • bancodobrasil: Banco do Brasil bank transfer (Brazil).
  • banrisul: Banrisul bank transfer (Brazil).
  • boleto: Boleto bancário (Brazil).
  • bradesco: Bradesco bank transfer (Brazil).
  • carnet: CARNET credit card (Mexico).
  • debitcard: Debit cards (Mexico)
  • diners: Diners credit card (Brazil).
  • discover: Discover credit card (Brazil).
  • elo: Elo credit card (Brazil).
  • hipercard: Hipercard credit card (Brazil).
  • itau: Itaú bank transfer (Brazil).
  • ebanxaccount: EBANX Account (Brazil).
  • mastercard: MasterCard credit card (Brazil, Mexico).
  • oxxo: OXXO (Mexico).
  • pagoefectivo: PagoEfectivo (Peru).
  • safetypay: SafetyPay (Peru, Checkout only).
  • safetypay-cash: SafetyPay Cash (Peru).
  • safetypay-online: SafetyPay Online (Peru).
  • visa: Visa credit card (Brazil, Mexico).
  • bitcoin: Bitcoin (Brazil, Peru and Mexico).
  • servipag: Servipag (Chile).
  • eft: Bank Transfer (Colombia).
  • sencillito: Sencillito (Chile).
  • baloto: Baloto (Colombia).

user_value_1, user_value_2, user_value_3, user_value_4, user_value_5

string, length 1-20, optional

Optional parameters that can be used by the merchant associate additional info to the payment. These parameters will be appended to the response_url when the transaction is finished.

notification_url

string, length 1-2000, optional

The URL to send notifications for this payment. If this field is filled, EBANX will notify using this URL instead of the configured one.

Example: https://notify.example.com/

bypass_boleto_screen

boolean, optional

Optional parameter to tell EBANX that it should not display a screen where the user can print the boleto bancário. This can be used in cases where the merchant will provide the link to the boleto in the response URL.

If this parameter is passed and equals to true then EBANX will not display the boleto screen and will redirect the customer straight to the response URL, where the merchant must provide a link to the boleto. If the parameter is not provided or its value is not true, the boleto screen will be displayed. This screen contains a link to the boleto and also a link to the response URL (“Go back to Merchant website”).

person_type

string, length 2, optional

Optional parameter that can be used to identify the type of customer:

  • PJ: corporation, legal entity.
  • PF: natural person.

birth_date

string, length 10, dd/mm/yyyy, optional

Customer birth date in the format dd/mm/yyyy. E.g. 02/04/1976

zipcode

string, length 8, 00000000, optional

Customer zipcode. If provided, EBANX will automatically fill the customer’s address.

address

string, length 1-100, optional

Customer address (street name).

street_number

string, length 1-30, optional

Customer street number.

city

string, length 1-80, optional

Customer city.

state

string, length 2-5, optional

Customer state/region/province.

country

string, length 2, required

The two-letter country code for the customer country. The available codes are:

  • br: Brazil.
  • cl: Chile.
  • co: Colombia.
  • mx: Mexico.
  • pe: Peru.

phone_number

string, length 10-15, required

Customer phone number. It is required for all countries.

  • Brazil: required.
  • Mexico: required.
  • Peru: required.
  • Chile: required.
  • Colombia: required.

due_date

string, length 10, dd/mm/yyyy

The due date of payments slips. Due date for boleto payments in the format dd/mm/yyyy. The maximum expiry date will depend on your merchant account settings.The due date is based on the local time of the country that the payment is generated.

sub_acc_name

string, Length: 32, required

Name of the sub account

sub_acc_image_url

string, Length: 200, required

URL of the logo of the sub account. OBS: It MUST be a HTTPS URL, otherwise, you will receive and error message.

This method call will return a JSON object with the payment data. If the request was placed successfully, you then redirect the customer to the EBANX Checkout using the redirect_url parameter.

Response parameters

status

string

The status of the the request (SUCCESS or ERROR).

payment

JSON

A JSON object that represents the payment.

payment.hash

string, 41 length, unique

The payment hash (EBANX unique identifier).

payment.merchant_payment_code

string, 1-40 length

The payment hash Merchant Payment Code (merchant unique ID).

payment.order_number

string, 1-40 length

The order number, optional identifier set by the merchant. You can have multiple payments with the same order number.

payment.status

string, 2 length

The payment status. The following statuses are available:

  • OP: the customer has not yet filled the payment details on the EBANX Checkout. It can change either to CA (timeout) or to PE.
  • PE: the payment is pending confirmation. It can change either to CA or to CO.
  • CO: the payment is confirmed (paid).
  • CA: the payment is cancelled.

payment.status_date

string, 19 length, UTC Date

The date and hour of the last status change.

payment.open_date

string, 19 length, UTC Date

The date and hour of when the payment was created.

payment.confirm_date

string, 19 length, UTC Date

The date and hour of when the payment was confirmed.

payment.transfer_date

string, 19 length, UTC Date

The date and hour of when the payment was settled.

payment.amount_br

float

The amount in local currency.

payment.amount_iof

float

The tax amount in local currency (varies between countries).

payment.amount_ext

float

The amount in the original currency.

payment.currency_rate

float

The exchange rate used in the payment.

payment.currency_ext

string, 3 length, ISO 4217 three letter code

Three-letter code of the original currency.

payment.due_date

string, 10 length, dd/mm/yyyy

Expiry date of the payment (not applicable to all payment methods).

payment.instalments

integer, ranges from 1 to 12

Number of instalments, defaults to 1.

payment.payment_type_code

string, 32 length

The code of the payment method. The supported codes are:

  • amex: American Express credit card (Brazil, Mexico).
  • aura: Aura credit card (Brazil).
  • bancodobrasil: Banco do Brasil bank transfer (Brazil).
  • banrisul: Banrisul bank transfer (Brazil).
  • boleto: Boleto bancário (Brazil).
  • bradesco: Bradesco bank transfer (Brazil).
  • carnet: CARNET credit card (Mexico).
  • debitcard: Debit cards (Mexico)
  • diners: Diners credit card (Brazil).
  • discover: Discover credit card (Brazil).
  • elo: Elo credit card (Brazil).
  • hipercard: Hipercard credit card (Brazil).
  • itau: Itaú bank transfer (Brazil).
  • ebanxaccount: EBANX Account (Brazil).
  • mastercard: MasterCard credit card (Brazil, Mexico).
  • oxxo: OXXO (Mexico).
  • pagoefectivo: PagoEfectivo (Peru).
  • safetypay: SafetyPay (Peru, Checkout only).
  • safetypay-cash: SafetyPay Cash (Peru).
  • safetypay-online: SafetyPay Online (Peru).
  • visa: Visa credit card (Brazil, Mexico).
  • bitcoin: Bitcoin (Brazil, Peru and Mexico).
  • servipag: Servipag (Chile).
  • eft: Bank Transfer (Colombia).
  • sencillito: Sencillito (Chile).
  • baloto: Baloto (Colombia).

payment.transaction_status

JSON

A JSON object that represents the payment credit card transaction.

payment.transaction_status.acquirer

string, 16 length

The acquirer that processed the transaction.

payment.transaction_status.code

string, 2-7 length

The transaction status code:

  • OK: The transaction amount was approved.
  • NOK: The acquirer did not approved the transaction. The customer must contact the issuer to check for any issue with his credit card.
  • RETRY: Something went wrong with the process. You can retry with the same data. We recommend you to try more 3 times on different periods of time (first try, then second try after 2 hours after the first, etc).

You can see more of these status HERE.

payment.transaction_status.description

string, 500 length

The description for the status code, which is returned from the acquirer.

payment.transaction_status.authcode

string, length 40

Transaction authentication code in the acquirer.

payment.pre_approved

boolean

Flag that shows if a payment is pre-approved by the credit card acquirer. Once pre-approved, the payment will pass through EBANX anti-fraud system which may take from a few minutes up to 8 business hours. After the check, the payment will be confirmed (CO) or cancelled (CA).

payment.capture_available

boolean

Flag that shows if a payment is ready to be captured. Applies only to credit cards when auto_capture is set to false. Some remarks on this attribute:

  • A payment can only be captured if pre_approved value is true, which means that the payment has been pre approved by the credit card acquirer. Before capture, an authorized payment has status as PE (pending). After the capture, the status changes to CO (confirmed). A payment can only be captured if the status is PE (pending). *Payments must be captured in 4 (four) days, otherwise they are automatically cancelled.

NOTE: It can be changed up to 5 (five) days.

payment.redirect_url

string, variable

The URL the customer should be redirected to. Applies to certain payment methods using the Direct API.

payment.pay_with_balance_url

string, variable

If the customer has an EBANX Account profile and it has balance enough to pay for the created boleto, the response will contain this parameter responsible for redirecting the customer to his EBANX Account page so he can pay the boleto with his available balance.

payment.boleto_url

string, variable

The boleto URL.

payment.boleto_barcode

string, length 47

The boleto barcode number. (Boleto)

payment.cip_url

string, variable

The CIP URL. (PagoEfectivo)

payment.cip_code

string, length 12

The CIP code. (PagoEfectivo)

payment.refunds

JSON

An array of objects that represent a refund linked to this payment. This node will only be present if a refund was issued.

payment.refunds.id

integer

The ID of the refund on EBANX.

payment.refunds.merchant_refund_code

string, length 1-20

The ID of the refund on the merchant system (optional).

payment.refunds.status

string, length 2

The status of the refund:

  • RE (Requested): The refund has been requested and is waiting to be processed. It can be cancelled while it has this status.
  • PE (Pending): The refund is being processed. It cannot be cancelled anymore.
  • CO (Confirmed): The refund was processed and the money was sent back to the customer.
  • CA (Cancelled): The refund was cancelled.

payment.refunds.request_date

string, length 19, UTC Date

The date and hour when the refund was created.

payment.refunds.pending_date

string, length 19, UTC Date

The date and hour when the customer data was received

payment.refunds.confirm_date

string, length 19, UTC Date

The date and hour when the money was transferred to the customer.

payment.refunds.amount_ext

float

The refunded amount in the original currency.

payment.refunds.description

string, length 1-1500

Description of the refund reason.

payment.chargeback

JSON

A JSON object that represents a chargeback linked to this payment. This node will only be present if a chargeback was issued.

payment.chargeback.create_date

string, length 19, UTC Date

The date and hour when the chargeback was imported into the system.

payment.chargeback.chargeback_date

string, length 19, UTC Date

The date and hour when the chargeback was created by the acquirer on behalf of the customer.

payment.chargeback.description

string, length 1-1500

Description of the chargeback.

payment.chargeback_credit

boolean

Flag that shows if a chargeback credit was issued.