# Create Card Payment

## **Create Card Payment**

## Payin by CreditCard

<mark style="color:green;">`POST`</mark> `https://gateway-test.pagsmile.com/trade/pay`

This endpoint allows you to create a card payment.

#### Headers

| Name                                            | Type   | Description                                |
| ----------------------------------------------- | ------ | ------------------------------------------ |
| Content-Type<mark style="color:red;">\*</mark>  | string | application/json; chartset=UTF-8           |
| Authorization<mark style="color:red;">\*</mark> | string | Basic Base($app\_*id:$security\_*&#x6B;ey) |

#### Request Body

| Name                                              | Type   | Description                                                                                                                                                                                                     |
| ------------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| app\_id<mark style="color:red;">\*</mark>         | string | <p>created app's id at dashboard</p><p>- Max. 32 chars -</p>                                                                                                                                                    |
| method<mark style="color:red;">\*</mark>          | string | CreditCard or DiscoverCard                                                                                                                                                                                      |
| out\_trade\_no<mark style="color:red;">\*</mark>  | string | <p>ID given by the merchant in their system<br>- Max. 64 chars - </p>                                                                                                                                           |
| notify\_url<mark style="color:red;">\*</mark>     | string | Where Pagsmile will send notification to                                                                                                                                                                        |
| return\_url                                       | string | Redirect to Merchant's url when user finished checkout                                                                                                                                                          |
| timestamp<mark style="color:red;">\*</mark>       | string | <p>yyyy-MM-dd HH:mm:ss<br>- Max. 19 chars -</p>                                                                                                                                                                 |
| subject<mark style="color:red;">\*</mark>         | string | <p>payment reason or item title</p><p>- Max. 128 chars -</p>                                                                                                                                                    |
| content<mark style="color:red;">\*</mark>         | string | <p>payment reason detail or item detail. This will be shown on the bank bill.</p><p>- Max. 255 chars -</p>                                                                                                      |
| order\_amount<mark style="color:red;">\*</mark>   | string | <p>payment amount<br>- check <a href="/pages/10VkYvTgs08fLkqQnrUC">here</a> -</p>                                                                                                                               |
| order\_currency<mark style="color:red;">\*</mark> | string | BRL, HKD, JPY, TJS, USD, EUR or GBP                                                                                                                                                                             |
| buyer\_id<mark style="color:red;">\*</mark>       | string | merchant user's id                                                                                                                                                                                              |
| token<mark style="color:red;">\*</mark>           | string | Get token by using [Tokenization API](/payin/pci-direct-integration/tokenize.md) or [Pagsmile Javascript](/payin/tools/pagsmile-javascript.md)                                                                  |
| user\_ip<mark style="color:red;">\*</mark>        | string | user's IP address                                                                                                                                                                                               |
| customer.name                                     | string | User's name                                                                                                                                                                                                     |
| customer.email                                    | string | User's email                                                                                                                                                                                                    |
| customer.phone                                    | string | User's phone                                                                                                                                                                                                    |
| customer.identify.type                            | string | User's identification type                                                                                                                                                                                      |
| customer.identify.number                          | string | User's identification number                                                                                                                                                                                    |
| issuer                                            | string | issuer of CreditCard                                                                                                                                                                                            |
| device.user\_agent                                | string | user's browser ua                                                                                                                                                                                               |
| website\_url                                      | string | <p>merchant website URL</p><p>- Max. 128 chars -</p>                                                                                                                                                            |
| address.zip\_code                                 | string | zip code                                                                                                                                                                                                        |
| address.street                                    | string | <p>street</p><p>- Required if zip\_code not provide -</p>                                                                                                                                                       |
| address.street\_number                            | string | <p>street number</p><p>- Required if zip\_code not provide -</p>                                                                                                                                                |
| address.city                                      | string | <p>city</p><p>- Required if zip\_code not provide -</p>                                                                                                                                                         |
| address.state                                     | string | <p>state<br>- Required if zip\_code not provide -</p>                                                                                                                                                           |
| installments                                      | string | installments for CreditCard                                                                                                                                                                                     |
| threeds.server\_trans\_id                         | string | Universally unique transaction identifier assigned by the 3DS Server to identify a single transaction generated by the Init 3DS API and used to link the init call to the order call                            |
| threeds.version                                   | string | Version used in the transaction                                                                                                                                                                                 |
| threeds.cavv                                      | string | Authentication Value (CAVV / AAV for 3DS1) recieved from authorization/Authentication response                                                                                                                  |
| threeds.status\_code                              | string | 3DSecure - Status code recieved from authorization/authentication response, (Possible values: U, N, Y, A, C, D, R, I)                                                                                           |
| threeds.eci                                       | string | ECI value recieved from authorization/authentication response                                                                                                                                                   |
| threeds.status                                    | string | 3DSecure - Status text received from 3D secure vendor                                                                                                                                                           |
| threeds.status\_reason\_code                      | string | String EMVCO Indicator of the reason for the 3DS status code provided during the authentication, (Possible values: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16)                              |
| threeds.liability\_shift                          | string | liability shift - indicate whether the chargeback liability shifted to the card issuer                                                                                                                          |
| threeds.acs\_trans\_id                            | string | This field contains a universally unique transaction identifier assigned by the ACS to identify a single transaction.                                                                                           |
| threeds.ds\_trans\_id                             | string | A universally unique transaction identifier is assigned by the DS to identify a single transaction.                                                                                                             |
| timeout\_express                                  | string | <p>m(minutes), h(hours), d(days), c(always end in current day). </p><p>Used to control the expiration time of <strong>submitting</strong> an order (from initial to processing).  (90m in default, max 15d)</p> |
| region                                            | string | region of the payment. The format is ISO 3166-1 alpha-3 - ARG, BRA, etc. Check [here](https://docs.pagsmile.com/payin/data/country-code). Required if using Global app -                                        |

{% tabs %}
{% tab title="200 submit successfully" %}

```
{
    "code": "10000",
    "msg": "Success",
    "trade_no": "2022010110293900084",
    "out_trade_no": "202201010354003",
    "web_url": "",
    "trade_status": "PROCESSING"
    "pay_url": "https://checkout-test.pagsmile.com/checkout?prepay_id=", //Only available when method=DiscoverCard
    "check_url": "https://checkout-test.pagsmile.com/checkout?prepay_id="
```

{% endtab %}

{% tab title="400 duplicate out\_trade\_no" %}

```
{
    "code": "40002",
    "msg": "Business Failed",
    "sub_code": "duplicate-out_trade_no",
    "sub_msg": "out_trade_no is duplicate"
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
The merchant should have 3DS provider to get the value of "threeds".
{% endhint %}

### Example

```
curl --location --request POST 'https://gateway-test.pagsmile.com/trade/pay' \
--header 'Authorization: Basic MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ==' \
--header 'Content-Type: application/json' \
--data-raw '{
    * "app_id": "162************38",
    * "out_trade_no": "202201010354003",
    * "method": "CreditCard",
    * "order_amount": "12.01",
    * "order_currency": "BRL",
    * "subject": "trade pay test",
    * "content": "trade pay test content",
    * "notify_url": "http://merchant/callback/success",
      "return_url": "https://www.merchant.com",
    * "buyer_id": "buyer_0101_0001",
    * "user_ip": "127.0.0.1",
    * "token": "${token}",
      "installments": "1",
    * "timestamp": "2022-01-01 03:54:01",
      "timeout_express": "1c",
      "customer": {
          "identify": {
              "type": "CPF",
              "number": "50284414727"
          },
          "name": "Test User Name",
          "email": "test@pagsmile.com",
          "phone": "75991435892"
      },
      "device": {
          "user_agent": ""    
      },
      "address": {
          "zip_code": "38082365",
      },
      "threeds": { //The "threeds" parameters are required to apply 3DS.
          "version": "2.1.0",
          "cavv": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA",
          "eci ": "05",
          "server_trans_id": "1111-2222-3333-4444",
          "acs_trans_id": "7777-8797-4645-1233",
          "ds_trans_id": "7777-8797-4645-1233",
          "status": "Cardholder authenticated",
          "status_code": "Y",
          "status_reason_code": "15",
          "liability_shift": "true"
      },
      "region": "BRA" //Required if using Global app
}'
```

{% hint style="info" %}
Note:  **162\*\*\*\*\*\*\*\*\*\*\*\*38** is pagsmile's test app id for sandbox, and **MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ==** is authorization token associated with the test app id.&#x20;
{% endhint %}

{% hint style="danger" %}
Please use your own **app\_id** and generate your own **authorization token** when testing.
{% endhint %}


---

# 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.pagsmile.com/payin/pci-direct-integration/creditcard.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.
