4.1. Sending the request
Your POST must be sent to https://sandbox.pagbrasil.com/api/order/add setting the content-type of the request header and body as "x-www-form-urlencoded".
Please note that this URL shall only be used for integration and testing procedures. Once the Payment Service Agreement is signed, you will receive the production environment's URL when you request your account to go live.
Request parameters:
Field | Description | Required | Length |
---|---|---|---|
secret | Secret phrase as defined in the PagBrasil Dashboard | Yes | 128 |
pbtoken | Token assigned to your merchant account. Your token is displayed at the PagBrasil Dashboard, menu Account > Settings. | Yes | 32 |
order | Order number. See note "e" | Yes | 64 |
payment_method | X = PagBrasil Pix | Yes | 1 |
product_name | Product name. See note "f" | Yes | 254 |
customer_name | Customer's full name if an individual, or "razão social" if the customer is a company. See note "g" | Yes | 128 |
customer_taxid | CPF if an individual, or CNPJ if the customer is a company. See note "h" | Yes | 14 |
customer_email | Customer's e-mail address | Yes | 128 |
customer_phone | Customer's phone number (including the 2-digit area code) | Yes | 40 |
address_street | Customer's street address | Yes | 200 |
address_zip | Customer's postal code (in Brazil called CEP). Only digits, do not include the dash. | Yes | 8 |
address_city | Customer's city | Yes | 40 |
address_state | Customer's state. See note "i" | Yes | 2 |
amount_brl | Amount in Brazilian Real. See note "c" | Yes |
7.2 | ||
pix_expiration | Number of minutes the PagBrasil Pix is valid for (from 1 to 7200). If you don't use this parameter, our system will use the default value set at the PagBrasil Dashboard, menu Account > Settings. You may extend the expiration of an already issued PagBrasil Pix using the API function "/api/order/extend" (see item 7). | No |
4.0 | |||
param_url | A string that can be concatenated to the URL our server posts the response to. See note "j" | No | 254 |
Notes:
a) All fields are required except when noted otherwise.
...
b) If a parameter is sent with a size greater than the maximum allowed, process will not be aborted but the value will be truncated.
...
Anchor | ||||
---|---|---|---|---|
|
...
d) The response for the "/api/order/add" call will be an XML with the order details, in exactly the same format as a "/api/order/get" response (see item 5.2). Elements "pix_image" and "pix_code" in the XML contain the URL of the Pix QR Code image and the alternative code for mobile users to copy and paste when they cannot scan the code. Please refer to item 5.2 for further information on the XML elements of the response.
...
Anchor | ||||
---|---|---|---|---|
|
Characters allowed in the parameter order (regular expression): [a-zA-Z0-9\.\-\_\/]
...
Anchor | ||||
---|---|---|---|---|
|
...
Anchor | ||||
---|---|---|---|---|
|
...
Anchor | ||||
---|---|---|---|---|
|
...
The last 2 digits of the CPF/CNPJ are check digits, and you will need to use them to validate the tax ID entered by the customer. You will find examples of CPF/CNPJ validation routines in different languages at the PagBrasil Dashboard, menu Resources. For testing purposes, please use CPF 91051605962 and CNPJ 78797547000157.
...
Anchor | ||||
---|---|---|---|---|
|
State | Abbreviation |
---|---|
Acre | AC |
Alagoas | AL |
Amapá | AP |
Amazonas | AM |
Bahia | BA |
Ceará | CE |
Distrito Federal | DF |
Espírito Santo | ES |
Goias | GO |
Maranhão | MA |
Mato Grosso | MT |
Mato Grosso do Sul | MS |
Minas Gerais | MG |
Pará | PA |
Paraíba | PB |
Paraná | PR |
Pernambuco | PE |
Piauí | PI |
Rio de Janeiro | RJ |
Rio Grande do Norte | RN |
Rio Grande do Sul | RS |
Rondônia | RO |
Roraima | RR |
Santa Catarina | SC |
São Paulo | SP |
Sergipe | SE |
Tocantins | TO |
...
Anchor | ||||
---|---|---|---|---|
|
"https://www.test.com/script.asp"
and param_url as "?customer_id=12345&newsletter=yes"
we will post the authorization response to:
"https://www.test.com/script.asp?customer_id=12345&newsletter=yes"
4.2. Receiving the IPN with the authorization response
You need to login to the PagBrasil Dashboard and specify the URL (webhook) you want PagBrasil to send the IPN (Instant Payment Notification) confirming the payment was authorized. By default we only allow outgoing connections to HTTPS URLs at standard port 443. If you plan to use a different port number in the IPN's URL please contact us requesting an exception.
PagBrasil's POST:
Field | Description | Length |
---|---|---|
secret | Secret phrase as defined in the PagBrasil Dashboard | 128 |
payment_method | X = PagBrasil Pix | 1 |
order | Order number | 64 |
amount_brl | Amount in Brazilian Real |
7.2 | ||
payment_status | A = Authorized | 1 |
authorization_code | Authorization code provided by the bank. Only available when payment_status = A. | 32 |
signature | HMAC-MD5 hash that authenticates the IPN. See note "c" | 32 |
Notes:
a) After processing our IPN your server needs to acknowledge it has successfully received it by writing "Received successfully [timestamp]". If your server responds to our IPN with an invalid acknowledgement, our system will e-mail your technical contact a warning notification (subject "Urgent: Error posting IPN - Not Compliant"). In this case, the IPN will not be resent and you may want to resend the IPN manually at the PagBrasil Dashboard, menu IPN History, after resolving the problem at your end.
...
Please note that any IPN can be resent manually at any time at the PagBrasil Dashboard, menu IPN History.
...
Anchor | ||||
---|---|---|---|---|
|
...
Anchor | ||||
---|---|---|---|---|
|
...