> For the complete documentation index, see [llms.txt](https://docs.pagsmile.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pagsmile.com/reference/payin/submit-a-payin/north-america/apple-pay.md).

# Apple Pay

### Payin by ApplePay <a href="#payin-by-creditcard" id="payin-by-creditcard"></a>

```http
POST https://gateway-test.pagsmile.com/trade/pay
```

This endpoint allows you to submit a payin by ApplePay in North America.

#### Headers

| Name                                            | Type   | Description                           |
| ----------------------------------------------- | ------ | ------------------------------------- |
| Content-Type<mark style="color:red;">\*</mark>  | string | `application/json; charset=UTF-8`     |
| Authorization<mark style="color:red;">\*</mark> | string | `Basic Base64($app_id:$security_key)` |

#### Request Body

| Name                                              | Type   | Description                                                          |
| ------------------------------------------------- | ------ | -------------------------------------------------------------------- |
| app\_id<mark style="color:red;">\*</mark>         | string | <p>Created app's ID at dashboard.<br>Max. 32 chars.</p>              |
| out\_trade\_no<mark style="color:red;">\*</mark>  | string | <p>ID given by the merchant in their system.<br>Max. 64 chars.</p>   |
| order\_currency<mark style="color:red;">\*</mark> | string | Fixed value: `USD`.                                                  |
| method<mark style="color:red;">\*</mark>          | string | Fixed value: `ApplePay`.                                             |
| order\_amount<mark style="color:red;">\*</mark>   | string | <p>Payment amount.<br>Range: <code>0.01</code> - <code>∞</code>.</p> |
| subject<mark style="color:red;">\*</mark>         | string | <p>Payment reason or item title.<br>Max. 128 chars.</p>              |
| content                                           | string | <p>Payment reason detail or item detail.<br>Max. 255 chars.</p>      |
| timestamp<mark style="color:red;">\*</mark>       | string | <p>Format: <code>yyyy-MM-dd HH:mm:ss</code>.<br>Max. 19 chars.</p>   |
| notify\_url<mark style="color:red;">\*</mark>     | string | Where Pagsmile will send notification to.                            |
| buyer\_id<mark style="color:red;">\*</mark>       | string | Merchant user's ID.                                                  |

####

{% tabs %}
{% tab title="200 submit successfully" %}
{% code lineNumbers="true" %}

```
{
    "code":"10000",
    "msg":"Success",
    "prepay_id":"ZDFy****ecea",
    "trade_no":"2026***9457",
    "out_trade_no":"out_trade_no_111***583",
    "web_url":"",
    "trade_status":"PROCESSING"
}
```

{% endcode %}
{% endtab %}

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

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

{% endcode %}
{% endtab %}
{% endtabs %}

### Example

{% code lineNumbers="true" %}

```
curl --location --request POST 'https://gateway.pagsmile.com/trade/pay' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ==' \
--data-raw '{
    "app_id": "162************38",
    "out_trade_no": "out_trade_no_114***583",
    "order_currency": "USD",
    "method": "ApplePay",
    "order_amount": "1",
    "subject": "pagsmile test",
    "content": "pagsmile test",
    "timestamp": "2024-07-04 18:50:42",
    "notify_url": "http://demo.gemini-tiger.cn/callback/success",
    "buyer_id": "buyer123"
}'
```

{% endcode %}

{% 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.
{% endhint %}

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