# 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="../payments#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>
