TransfersmileTransfersmile
  • EN
  • PT
  • ES
  • EN
  • PT
  • ES
  • Introduction
  • Payin API
    • Environments
    • Direct integration
      • Brazil
        • Credit Card
        • Pix
        • Lottery
        • Boleto
        • Deposit Express
        • Wallet
    • Notification
      • Security
    • Payin Detail
    • Refund
    • Plug-in & Tools
      • transfersmile JavaScript
      • transfersmile SDK
      • Get CreditCard Token
      • Supported Bank List Query
      • Installment Detail Query
    • Data
      • Payment Method
      • Data for test (Sandbox)
      • Payin Status
      • Icon of methods
    • API Code
  • Payout API
    • Environments
    • Security
    • Submit a payout
      • transfersmile Wallet
        • WebView Example
        • H5 Authorization
        • Native App Authorization
        • Send Prizes
      • Brazil
        • Pix
        • BankTransfer
    • Notification
    • Payout DryRun
    • Account Balance
    • Payout Status
    • Payout List
    • Payout Detail
    • Payment Method
    • Data for test
    • Bank Code
      • Bank in Brazil
    • API Code

Pix

How to use Pix to submit a payin in Brazil.

Post

https://gateway-test.transfersmile.com/trade/pay

Payin by Pix

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

Parameters

Header

Content-Type*stringapplication/json; chartset=UTF-8
Authorization*stringBasic Base($app_id:$security_key)

Body

app_id*stringcreated app's id at dashboard
- Max. 32 chars -
timestamp*stringyyyy-MM-dd HH:mm:ss
- Max. 19 chars -
out_trade_no*stringID given by the merchant in their system
- Max. 64 chars -
method*stringFixed value: Pix
order_currency*stringFixed value: BRL
order_amount*stringpayment amount
- 0.1~50,000 BRL -
subject*stringpayment reason or item title
- Max. 128 chars -
contentstringpayment reason detail or item detail.
- Max. 255 chars -
notify_url*stringWhere transfersmile will send notification to
return_urlstringRedirect to Merchant's url when user finished checkout
cancellation_expressstringm(minutes), h(hours), d(days).
The value must be an integer. Ex: 90m
Used to control the expiration of QR code
buyer_id*stringmerchant user's id
customer.name*stringUser's name
customer.phonestringUser's phone
customer.email*stringUser's email
customer.identify.number*stringUser's identification number;
- 11 digits if CPF or 14 digits if CNPJ -
customer.identify.type*stringUser's identification type;
- CPF or CNPJ -
address.zip_codestringzip code
address.statestringstate
address.citystringcity
address.street_numberstringstreet number
address.streetstringstreet
website_urlstringmerchant website URL
- Max. 128 chars -

Responses

200submit successfully
{
    "code": "10000",
    "msg": "Success",
    "trade_no": "2022010110293900083",
    "out_trade_no": "202201010354003",
    "web_url": "",
    "pay_url": "https://checkout.transfersmile.com/checkout?prepay_id=TTd5Y1JJbDhKbi9Rd1NPNkZTUVIyNGNsOEFyRWZ4SWw1czd2UE00bmszOD0=-79697e50",
    "trade_status": "PROCESSING",
    "qr_code": "00020126580014br.gov.bcb.pix013627a44d0a-0736-4bbf-a4a4-6e11063973315204000053039865406100.005802BR5908transfersmile6008So Paulo62230519mpqrinter123742074363049E0B",
    "qr_code_url": "https://gateway.transfersmile.com/api/trade/qrcode-img?prepay_id=Y1N5dHVPOFJ4Ky9lZVVKVXBrdFFieWttVlhwSGZWMnJYRXBkWW9OaE8wRT0=-9036acF1",
    "qr_code_img": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACwUlEQVR42u2XPc7jIBCGx6Kgsy+AxDXouFJyAf9cIL4SHdewxAXsjgJ59p2sFPsrtlhodqVEkQs/UcDz8zAm/tOHvuRL/hkSqOM0O375tLttiES6gUQ+ouky76RWpoe2uNNA6IkbntdQiNKpTddIglpyOr3ibHrfTDKf3s5kd+KVGwliUKasFjYT4wl+RudvCfITzfP6/sjcXxN88jY6i3UelN6LNJBAD8JOcVXMZaT08g0kq5cncrzm8gyld6qJBLtkM2q7e1SiGeKVnxqSFbY8ZPtyW68RA+p1Awlbxxa1c8T0Dqrdm4g6tV0RV512jXDa2TcQ5pm2Ea0mG8c6/KnEGpKRYYW9P6hIwjOvLQQyIJoQ1IAtl1Gro4VEmoLdYT69PXxa81U7NQT7deLRI0gM0HNDbCAiA6wAKxsxn6OBWwjvkpx0hHRw6aK9YlBBsl3f5ns5XvImBe4bSICcTMdqFh+YZ7hFp4JAn0Ht6BLxMfqvNBE4Xm7ApsgzbiNFDSRvKEO4Cu37ZBR1uUxRQcJG2r7PH6xjukBjE+FTo5ztEjco4dQ40BpI5vcxa6Vxc3m4W+1UEDY9mQE5l14po1OXqyoIKpqxcRyzcsV88cl2DWFp3En6WHpuDTcnVpDIs5eEwwq7Q6rhrQbC+G8FuzA6OIpE1yaidpcWZIkhPzl/Zt1AcnoRH4wr+gM/KR9X1RBG725w1RLTu3Zu9q8gQbp29HYJCG3p/W12qSDy9DRxQmhhwdnfqqqG4Nw2MosFaC8tIX1msRqCo0wGOiJSJ85Got43EIHmt6vkFNJlbCGYYQOOa2gASoBTb1NaBcF8DX3CVQwxpx+OryF4k8BOZfY/3TYFerYShVkMj35keQP7OL6WWARywDjAmGSvab2KYDZRiCXiitqZ8eYUG4jkR2pniHCVIXSJbiDfN/4v+T/JL/qJUR2nh9cdAAAAAElFTkSuQmCC"
}
400duplicate 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

  • Users only need to scan the QR code to finish the payment. QR code can be generated with qr_code value.

  • Add a Copy QRCODE button. For mobile users, they can copy the string of qr_code and paste it into their wallet app to finish the payment. Adding a copy button could help to improve the user's payment experience.

  • qr_code_url and qr_code_img are system generated images of qr code which can be used directly on merchant website depending on needs.

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": "202201010354002",
    * "method": "PIX",
    * "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]"
      }
      }'
mixureSecureExample of payment page

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.

Prev
Credit Card
Next
Lottery