Boleto

How to use Boleto to submit a payin in Brazil.

Payin by Boleto

POST https://gateway-test.pagsmile.com/trade/pay

This endpoint allows you to submit a payin by Boleto in Brazil.

Headers

NameTypeDescription

Content-Type*

string

application/json; chartset=UTF-8

Authorization*

string

Basic Base($app_id:$security_key)

Request Body

NameTypeDescription

app_id*

string

created app's id at dashboard

- Max. 32 chars -

customer.phone

string

User's phone

customer.email*

string

User's email

customer.identify.number*

string

User's identification number

- 11 digits if CPF or 14 digits if CNPJ -

method*

string

Fixed value: Boleto

out_trade_no*

string

ID given by the merchant in their system - Max. 64 chars -

notify_url*

string

Where Pagsmile will send notification to

customer.identify.type*

string

User's identification type

- CPF or CNPJ -

customer.name*

string

User's name

timestamp*

string

yyyy-MM-dd HH:mm:ss - Max. 19 chars -

subject*

string

payment reason or item title

- Max. 128 chars -

order_amount*

string

payment amount - 5~15,000 BRL -

order_currency*

string

Fixed value: BRL

content*

string

payment reason detail or item detail. This will be shown on the bank bill.

- Max. 255 chars -

buyer_id*

string

merchant user's id

address.zip_code*

string

zip code

website_url

string

merchant website URL

- Max. 128 chars -

address.street

string

street

- Required if zip_code not provide -

address.street_number

string

street number

- Required if zip_code not provide -

address.city

string

city

- Required if zip_code not provide -

address.state

string

state - Required if zip_code not provide -

return_url

string

Redirect to Merchant's url when user finished checkout

cancellation_express

string

m(minutes), h(hours), d(days). The value must be an integer. Ex: 90m The value must be larger than timeout_express.

User to control the expiration time of a Boleto voucher.

timeout_express

strng

Used to control the expiration time of submitting an order (from initial to processing). (90m in default, max 15d)

{
    "code": "10000",
    "msg": "Success",
    "trade_no": "2022010110481300091",
    "out_trade_no": "202201010354003",
    "web_url": "",
    "barcode": "23793864800029999003380260980157275200633330",
    "bank_code": "21890010070215182080679309377384187050000001125",
    "pay_url": "https://checkout-testv2.pagsmile.com/checkout?prepay_id=bkYvNytBMkN2dnFaVVhXTSs0ckJPaHBBVnkyT3J1M2tyekNzZ3RMZ05ubz0=-3872aF67",
    "trade_status": "PROCESSING"
}

User payment tips

  • The value of bank_code is the ticket number that the user needs to use for payment

  • Use the value of barcode to generate a scanable barcode can help users to make payment faster

  • Providing a downloadable PDF version could help mobile users to have their tickets on their phones without keeping the browser open

Example

curl --location --request POST 'https://gateway-test.pagsmile.com/trade/pay' \
--header 'Authorization: Basic MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ==' \
--header 'Content-Type: application/json' \
--data-raw '{
    * "app_id": "162************38",
    * "out_trade_no": "202201010354003",
    * "method": "Boleto",
    * "order_amount": "12.01",
    * "order_currency": "BRL",
    * "subject": "trade pay test",
    * "content": "trade pay test conent",
    * "notify_url": "http://merchant/callback/success",
      "return_url": "https://www.merchant.com",
    * "buyer_id": "buyer_0101_0001",
    * "timestamp": "2022-01-01 03:54:01",
      "timeout_express":"1c",
    * "customer" : {
    *     "identify": {
    *         "type": "CPF",
    *         "number": "11032341882"
          },
    *     "name": "Test User Name",
    *     "email": "test@pagsmile.com"
      },
    * "address" : {
    *     "zip_code": "38082365"
      }
      }'

Note: 162************38 is pagsmile's test app id for sandbox, and MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ== is authorization token associated with the test app id.

Please use your own app_id and generate your own authorization token when testing.

Last updated