Boleto
How to use Boleto to submit a payin in Brazil.
Post
https://gateway-test.transfersmile.com/trade/pay
Payin by Boleto
This endpoint allows you to submit a payin by Boleto in Brazil.
Parameters
Header
| Content-Type* | string | application/json; chartset=UTF-8 | 
| Authorization* | string | Basic Base($app_id:$security_key) | 
Body
| app_id* | string | created app's id at dashboard  - Max. 32 chars -  | 
| timestamp* | string | yyyy-MM-dd HH:mm:ss  - Max. 19 chars -  | 
| out_trade_no* | string | ID given by the merchant in their system  - Max. 64 chars -  | 
| method* | string | Fixed value: Boleto | 
| order_currency* | string | Fixed value: BRL | 
| order_amount* | string | payment amount  - 4~50,000 BRL -  | 
| subject* | string | payment reason or item title  - Max. 128 chars -  | 
| content* | string | payment reason detail or item detail.This will be shown on the bank bill.  - Max. 255 chars -  | 
| notify_url* | string | Where transfersmile will send notification to | 
| return_url | string | Redirect to Merchant's url when user finished checkout | 
| timeout_express | string | Used to control the expiration time of submitting an order (from initial to processing). (90m in default, max 15d) | 
| 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.  | 
| buyer_id* | string | merchant user's id | 
| customer.name* | string | User's name | 
| 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 -  | 
| customer.identify.type* | string | User's identification type; - CPF or CNPJ -  | 
| address.zip_code* | string | zip code | 
| address.state | string | state - Required if zip_code not provide -  | 
| address.city | string | city - Required if zip_code not provide -  | 
| address.street_number | string | street number - Required if zip_code not provide -  | 
| address.street | string | street - Required if zip_code not provide -  | 
| website_url | string | merchant website URL - Max. 128 chars -  | 
Responses
| 200 | submit successfully | 
{
    "code": "10000",
    "msg": "Success",
    "trade_no": "2022010110481300091",
    "out_trade_no": "202201010354003",
    "web_url": "",
    "barcode": "23793864800029999003380260980157275200633330",
    "bank_code": "21890010070215182080679309377384187050000001125",
    "pay_url": "https://checkout-testv2.transfersmile.com/checkout?prepay_id=bkYvNytBMkN2dnFaVVhXTSs0ckJPaHBBVnkyT3J1M2tyekNzZ3RMZ05ubz0=-3872aF67",
    "trade_status": "PROCESSING"
}
| 400 | duplicate out_trade_no | 
{
    "code": "40002",
    "msg": "Business Failed",
    "sub_code": "duplicate-out_trade_no",
    "sub_msg": "out_trade_no is duplicate"
}
Tip
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.transfersmile.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": "50284414727"
          },
    *     "name": "Test User Name",
    *     "email": "[email protected]"
      },
    * "address" : {
    *     "zip_code": "38082365"
      }
    }'

Example of payment page

Example of Boleto PDF
Tip
Note: 162********38 is transfersmile's test app id for sandbox, and MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ== is authorization token associated with the test app id.
Warning
Please use your own app_id and generate your own authorization token when testing.
