Wallet
How to use Wallet to submit a payin in Brazil.
Post
https://gateway-test.transfersmile.com/trade/pay
Payin by Wallet
This endpoint allows you to submit a payin by Wallet 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: Wallet |
channel* | string | Wallet type - AME or PicPay - |
order_currency* | string | Fixed value: BRL |
order_amount* | string | payment amount - check here for limits - |
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 |
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 |
address.city | string | city |
address.street_number | string | street number |
address.street | string | street |
website_url | string | merchant website URL - Max. 128 chars - |
Responses
200 | submit successfully |
AME
{
"code": "10000",
"msg": "Success",
"trade_no": "2022010110293900083",
"out_trade_no": "202201010354003",
"web_url": "",
"trade_status": "PROCESSING",
"wallet_url": "https://api.hml.amedigital.com/api/qrcode?qrcode=eyJ0eXBlIjoiUEFZTUVOVCIsIm9yZGVyX2lkIjoiZTI0OTMyNTYtZDIyOC00ODhlLWFjZDctOWU5OWU4NjJhNGE2In0=", //redirect the user to AME web.
"app_link_url": "amedigital://payment?qrcode=eyJ0eXBlIjoiUEFZTUVOVCIsIm9yZGVyX2lkIjoiZTI0OTMyNTYtZDIyOC00ODhlLWFjZDctOWU5OWU4NjJhNGE2In0=" //redirect the user to AME app.
}
PicPay
{
"code": "10000",
"msg": "Success",
"trade_no": "2022010110293900083",
"out_trade_no": "202201010354002",
"web_url": "",
"trade_status": "PROCESSING",
"wallet_url": "https://app.picpay.com/checkout/NjIxOGE4ZDc3MzY5MDQ0MGU2MDRiNGM5" //If the user use mobile, wallet_url will redirect the user to Picpay app.
}
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
wallet_url will need to be used to redirect users to the wallet page. Users will finish payment on the wallet page.
wallet_url of Picpay can only be opened in Brazil.
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": "Wallet",
* "channel": "PicPay",
* "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]"
}
}'
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.