# PicPay

***

### <mark style="color:orange;">POST</mark> /v1/picpay

{% hint style="info" %}
**Request**
{% endhint %}

```bash
curl -v --location --request POST 'https://sandbox.smartfastpay.com/v1/picpay' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer < Access-Token >' \
    --data-raw '{
        "customer_id": "58f0c005-3b7d-4c75-81f3-93b9a6fee864",
        "name": "Richard Roe",
        "email": "richard@roe.com",
        "document": "16972691419",
        "amount": 300,
        "currency": "USD",
        "callback": "http://mysite.com/api/notification",
        "transaction": {
            "id": "b08e3897-6505-4bb4-81a5-6e3a1d29e277"
        }
    }'
```

{% hint style="info" %}
**Parameters details**
{% endhint %}

<table><thead><tr><th width="193">Parameter</th><th width="196" align="center">Type</th><th width="100" align="center">Required</th><th>Description</th></tr></thead><tbody><tr><td><mark style="color:red;"><code>customer_id</code></mark></td><td align="center"><mark style="color:red;"><code>string</code></mark><br><mark style="color:red;"><code>min: 1 | max: 255</code></mark></td><td align="center"><strong>yes</strong></td><td>The customer id stored on your platform for future identification.</td></tr><tr><td><mark style="color:red;"><code>branch</code></mark></td><td align="center"><mark style="color:red;"><code>string</code></mark><br><mark style="color:red;"><code>min: 1 | max: 255</code></mark></td><td align="center">no</td><td>When the merchant needs to keep track of its various offices / branch, this field must be fill.</td></tr><tr><td><mark style="color:red;"><code>name</code></mark></td><td align="center"><mark style="color:red;"><code>string</code></mark><br><mark style="color:red;"><code>min: 3 | max: 150</code></mark></td><td align="center"><strong>yes</strong></td><td>Name of the customer who started the transaction.</td></tr><tr><td><mark style="color:red;"><code>email</code></mark></td><td align="center"><mark style="color:red;"><code>string</code></mark><br><mark style="color:red;"><code>min: 30 | max: 255</code></mark></td><td align="center"><strong>yes</strong></td><td>Email of the customer who started the transaction.</td></tr><tr><td><mark style="color:red;"><code>document</code></mark></td><td align="center"><mark style="color:red;"><code>string</code></mark><br><mark style="color:red;"><code>Format: 99999999999</code></mark></td><td align="center"><strong>yes</strong></td><td>Brazilian document (CPF) of the customer who started the transaction.<br>- Must be a valid CPF document;<br><mark style="color:red;"><code>Eg: 12345678909</code></mark></td></tr><tr><td><mark style="color:red;"><code>amount</code></mark></td><td align="center"><mark style="color:red;"><code>decimal (10,2)</code></mark><br><mark style="color:red;"><code>min: 2</code></mark></td><td align="center"><strong>yes</strong></td><td>The amount that the client specified when initiating the transaction showed IN DOLLARS (use dot instead of comma)<br><mark style="color:red;"><code>Eg: 300.10</code></mark></td></tr><tr><td><mark style="color:red;"><code>currency</code></mark></td><td align="center"><mark style="color:red;"><code>string (3)</code></mark><br><mark style="color:red;"><code>(USD or BRL)</code></mark><br><mark style="color:red;"><code>min: 3 | max: 3</code></mark></td><td align="center">no</td><td>The currency type that the amount will be credited. If USD is provided there will be a conversion from USD to BRL, if BRL is provided there will be no conversion.<br><br>This parameter is optional, if currency isn't provided it will auto-select USD.<br><strong>Default: USD</strong></td></tr><tr><td><mark style="color:red;"><code>callback</code></mark></td><td align="center"><mark style="color:red;"><code>string</code></mark><br><mark style="color:red;"><code>min: 30 | max: 250</code></mark><br><mark style="color:red;"><code>(Method: POST)</code></mark></td><td align="center"><strong>yes</strong></td><td>The URL in you site that our API will notify when the payment changes the status, the HTTP supported method should be HTTP<br><mark style="color:red;"><code>Eg: http://my-url-callback/</code></mark></td></tr><tr><td><mark style="color:red;"><code>transaction</code></mark></td><td align="center"></td><td align="center"></td><td></td></tr><tr><td><mark style="color:red;"><code>id</code></mark></td><td align="center"><mark style="color:red;"><code>string</code></mark><br><mark style="color:red;"><code>min: 1 | max: 255</code></mark></td><td align="center"><strong>yes</strong></td><td>The id of the transaction generated in you platform.</td></tr></tbody></table>

{% hint style="info" %}
**Response**
{% endhint %}

```json
{
    "requestId": "2840429ae5547ede3850f7464ec3a1cd\15166459175723748126;o=1",
    "data": {
        "id": "11acb6a4-ea1d-4bf6-a87d-3f7b5c0340f9",
        "status": "pending",
        "payment": {
            "method": "picpay"
        },
        "values": {
            "total": "28.00",
            "subtotal": "28.00",
            "exchange": "1.00",
            "fee": 0
        },
        "pix": {
            "qrcode": "00...014COM.PICPAY.P2B0164https:\\app.picpay.com\checkout\NjQzNTVhNDc3OW...AY6009SAO PAULXXXXX",
            "reference": "00...00014COM.PICPAY.P2B0164https:\\app.picpay.com\checkout\NjQzNTVhNDc3OWN...06PICPAY6009SAO PAULXXXX",
            "beneficiary": "SmartFastPay",
            "expires_in": 1681219918
        },
        "picpay": {
            "url": "https:\\app.picpay.com\checkout\NjQzNTVhNDc3OWNiYzk0MTBjN2ViMWU2"
        }
    }
}
```

{% hint style="warning" %}
**Important**
{% endhint %}

* This payment method is different from the PIX
* PicPay does not have copy and paste
* Need the PicPay app installed
* Use <mark style="color:red;">`picpay > url`</mark> to open PicPay checkout

{% hint style="info" %}
**Response details**
{% endhint %}

<table><thead><tr><th width="174">Parameter</th><th>Description</th></tr></thead><tbody><tr><td><mark style="color:red;"><code>id</code></mark></td><td>The created payment by the request made unique identificator. Can be used to verify the payment status in the <a href="/pages/2xJzbjonZPNSiMSJm6MU#get-payment-id"><mark style="color:green;"><strong>GET</strong> /v1/payment/{id}</mark></a> endpoint</td></tr><tr><td><mark style="color:red;"><code>status</code></mark></td><td>The current status of the payment. These are our statuses: <mark style="color:red;"><code>pending</code></mark>, <mark style="color:red;"><code>paid</code></mark>, <mark style="color:red;"><code>denied</code></mark>, <mark style="color:red;"><code>expired</code></mark></td></tr><tr><td><mark style="color:red;"><code>payment</code></mark></td><td></td></tr><tr><td><mark style="color:red;"><code>method</code></mark></td><td>picpay</td></tr><tr><td><mark style="color:red;"><code>values</code></mark></td><td></td></tr><tr><td><mark style="color:red;"><code>total</code></mark></td><td>The full value of the transaction, including service fees. Decimal separator it a dot</td></tr><tr><td><mark style="color:red;"><code>subtotal</code></mark></td><td>The value of the transaction, without service fees. Decimal separator it a dot</td></tr><tr><td><mark style="color:red;"><code>exchange</code></mark></td><td>The exchange rate applied to the current transaction</td></tr><tr><td><mark style="color:red;"><code>fee</code></mark></td><td>The service fee value</td></tr><tr><td><mark style="color:red;"><code>pix</code></mark></td><td></td></tr><tr><td><mark style="color:red;"><code>qrcode</code></mark></td><td>String that contains the information of the qrcode. It is necessary to use some programming resource to convert this text into an image.</td></tr><tr><td><mark style="color:red;"><code>reference</code></mark></td><td>String that contains the information of the copy and paste pix (pix copia e cola).</td></tr><tr><td><mark style="color:red;"><code>beneficiary</code></mark></td><td>Name of the owner of the account to which the deposit is going to be direct</td></tr><tr><td><mark style="color:red;"><code>expires_in</code></mark></td><td>Limit date to receive the payment</td></tr><tr><td><mark style="color:red;"><code>picpay</code></mark></td><td></td></tr><tr><td><mark style="color:red;"><code>url</code></mark></td><td>String to open PicPay checkout.</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.smartfastpay.com/v1/reference/picpay.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
