# Create Token

## Create Token

<mark style="color:green;">`POST`</mark> `BASE_URL/cashier`

#### Headers

| Name                                           | Type   | Description                       |
| ---------------------------------------------- | ------ | --------------------------------- |
| Content-Type<mark style="color:red;">\*</mark> | String | application/x-www-form-urlencoded |

#### Request Body

| Name                                                        | Type    | Description                        |
| ----------------------------------------------------------- | ------- | ---------------------------------- |
| sign<mark style="color:red;">\*</mark>                      | string  | 签名值                                |
| signType<mark style="color:red;">\*</mark>                  | string  | 签名类型, MD5 或者 RSA                   |
| echoParam                                                   | string  | 回声参数，Response 中将会原样返回              |
| notifyUrl                                                   | string  | 异步通知地址                             |
| userInfo                                                    | string  | json string, 消费者信息, 请参考下方消费者信息     |
| payerInfo<mark style="color:red;">\*</mark>                 | string  | json string, 付款方信息, 请参考下方payerInfo |
| currency<mark style="color:red;">\*</mark>                  | string  | 货币单位，请参考货币单位一节                     |
| orderInfo<mark style="color:red;">\*</mark>                 | string  | json string, 订单信息, 请参考下方orderInfo  |
| amount<mark style="color:red;">\*</mark>                    | string  | 订单金额, 必须大于0，单位为对应货币的最小货币单位参考货币单位一节 |
| appId<mark style="color:red;">\*</mark>                     | string  | 提交审核的网站, 需与商户后台网站审核值一致             |
| transactionExpirationTime<mark style="color:red;">\*</mark> | integer | 交易过期时间(单位为分钟)                      |
| transactionType<mark style="color:red;">\*</mark>           | string  | 传 pay 或 authorization              |
| transactionId<mark style="color:red;">\*</mark>             | string  | 订单号, 需要唯一                          |
| merchantNo<mark style="color:red;">\*</mark>                | string  | 商户号,                               |
| autoRedirect                                                | boolean | false                              |
| version<mark style="color:red;">\*</mark>                   | string  | 目前固定为 1.0                          |
| terminalType<mark style="color:red;">\*</mark>              | String  | WEB或者H5                            |

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

```
{
    "amount": "123",
    "redirectUrl": "https://checkout1.uat.useepay.com/?accessToken=eAF1VW1r20Yc_yrj-tZOJNlxJb9L03orJK1Z0pVRl3HWne1bJZ16OsUVnqF907UsIR1bxmAMSt90MOgeYGxsHf0uo46zV_sK-_9POlfpg0Ns3e93_-cHzYjiWR5p0p2RkVCZvkJjTrpkKKJIJOPeCmqQiL7OblukQUKq2F6R8ox0b5BPwyFpkBhYrpCAA03TiKe0wEcOX_CY0gge9kVGyc0GGVPNp7TYlbkK0YFru5cu9Tc_Lq_GPNE7XE8kQ_2zM9ZmRINdkAC988bqhD7UjjVnaqgxPgfrSRl1qDgT-hPjM16rR7XSXLleE7PIuyRWwddkzmBSMa4uJyOJZahSf5FnoRKplgpiuw21mOT0vRFNICPglhIgwICZTqdrYH8tlDEyuVI8CQuTwIsAjCXkrNRMbswG5HZOEy10MSBdtzEgqRIhh-cBcb21VntAAMNcGGhxfH_x1b3Fo8Pl058NI1gNXz7_ZnH0u8FDqN1YqmJP8brk8pe_lt89O3n85X_PD17-cbh4dLD88-niwY8l_vLvF8uvf_jn7vefwf_iwf3Fw1-NsqFk6N2AlOZPjo5OX5TmrZkaW6oyctmtvEaYEwQzVDSpew0BLR8eGIFcRTUBc5rftCmrxuD02ZPF4fHJ48__ffItUDH08wQSeNXUC9PvOZ7rOu6G0_ZaTrsFd8paIgd4Sbodr9XZcPygA7wGj7LNGCYOct6CHiU0irZkMhJj2wGU0RRGB244bZAYSq1lfB0UA7JZ-wAX0iTk0Ydc5yq5piK4gA0xpILltiXA4THfhq-cjnFOXBRTnJadRVkskk2AeDzkjHHWi8ZoGJGE7YmYb8nI9OC5Xq_ddpAYx3oLFXCkoZE6nue4jtdun_cDw-5IJkaFZVuuvxG4QQd-GkRAEIHTgodsdyKnWzJPNJPTpLIZvfKTY6vHVCR7MkG_zznw6fUQRF_L9ncRdBy33cHc2_qYydgoKfw-3_IxaktXxe2d_PbF6U_HSKC_MFFgZZUPGKoL-k3bCOdQj6Qv7nDItwe7DBIF89mXUYQhw4qCOGGy9mlYACjC4u2VwWWjeKghW7YuGaTkAqzeKhv2CNrPrAMMxnD1zrDgFmzciYxYtdNW8P4-aLWnnpRlh1ngfVwUDHZO7ZLBXlOzLcewpUx_oAdmErCmK83X-TATehWQpkqf6aL2Jv5hAEVyRWrIO8y1kEm53yvVmsdpBA2GhfSgWey5qtwHEl4trE8LfDH0sa1fXSlzvW4QFWdXRzBbsNTBwturYOYRPZQ5zqTn-9jiWhXbMoQ3VBlqnvGdavZ3y-AcMofRtSUsVU-0TrPu-nr1LtM802sgie89HEaLN5FYt6IfeTkatL35jtY1rwsI2HpxmUHktmetLBpZy2DhDeUdaxhjkbdglrrQ5Wk3pqnooums6_mBM_I7TtNjgdt0XR42Ay9gTdrxNjqB4_mtwCfz_wEXGNID",
    "resultCode": "received",
    "sign": "c60982754906a3f326ff672108e55ca1",
    "errorCode": "0000",
    "transactionId": "202110150423043",
    "errorMsg": "Approved or completed successfully",
    "token": "mop:mapi:redis:2890f860-2d91-11ec-929d-a62569028398",  // 内嵌收银台token
    "reference": "1012110151623650896",
    "echoParam": "echoParam",
    "reserved": "reserved",
    "signType": "MD5",
    "currency": "USD",
    "merchantNo": "500000000007381"
}
```

{% endtab %}
{% endtabs %}

### Example

{% tabs %}
{% tab title="node.js" %}

```
const payload = {}
payload['version'] = '1.0'
payload['autoRedirect'] = false
payload['transactionId'] = ORDER_ID_IN_YOUR_SYSTEM
payload['transactionType'] = 'pay'
payload['transactionExpirationTime'] = 14400
payload['appId'] = YOUR_APP_ID
payload['amount'] = 1234
payload['currency'] = 'USD'
payload['terminalType'] = 'WEB'
const userInfo = {
    userId: USER_ID_IN_YOUR_SYSTEM,
    phoneNo: USER'S_PHONE_NO,
    email: USER'S_EMAIL,
    ip: USER'S_IP
}
payload['userInfo'] = JSON.stringify(userInfo)

const payerInfo = {
    paymentMethod: 'credit_card',
    authorizationMethod: 'cvv'
}
const billingAddress = {}
billingAddress['houseNo'] = CUSTOMER'S_HOUSE_NO
billingAddress['email'] = CUSTOMER'S_EMAIL
billingAddress['phoneNo'] = CUSTOMER'S_PHONE_NO
billingAddress['firstName'] = CUSTOMER'S_FIRST_NAME
billingAddress['lastName'] = CUSTOMER'S_LAST_NAME
billingAddress['street'] = CUSTOMER'S_STREET
billingAddress['postalCode'] = CUSTOMER'S_POSTAL_CODE
billingAddress['city'] = CUSTOMER'S_CITY
billingAddress['state'] = CUSTOMER'S_STATE
billingAddress['country'] = CUSTOMER'S_COUNTRY // ISO 3166-1-alpha-2
payerInfo['billingAddress'] = billingAddress
payload['payerInfo'] = JSON.stringify(payerInfo)

const orderInfo = {
    subject: ORDER_SUBJECT_IN_YOUR_SYSTEM,
}
const goodsInfo = Array()
goodsInfo.push(
  {
    id: SKU_ID_IN_YOUR_SYSTEM,
    name: PRODUCT_NAME,
    price: PRICE,
    quantity: QUANTITY,
    url: PRODUCT_LINK,
    image: IMAGE_OF_PRODUCT
  },
  {    
    id: SKU_ID_IN_YOUR_SYSTEM,
    name: PRODUCT_NAME,
    price: PRICE,
    quantity: QUANTITY,
    url: PRODUCT_LINK,
    image: IMAGE_OF_PRODUCT
  },
)
const shippingAddress = {}
shippingAddress['houseNo'] = CUSTOMER'S_HOUSE_NO
shippingAddress['email'] = CUSTOMER'S_EMAIL
shippingAddress['phoneNo'] = CUSTOMER'S_PHONE_NO
shippingAddress['firstName'] = CUSTOMER'S_FIRST_NAME
shippingAddress['lastName'] = CUSTOMER'S_LAST_NAME
shippingAddress['street'] = CUSTOMER'S_STREET
shippingAddress['postalCode'] = CUSTOMER'S_POSTAL_CODE
shippingAddress['city'] = CUSTOMER'S_CITY
shippingAddress['state'] = CUSTOMER'S_STATE
shippingAddress['country'] = CUSTOMER'S_COUNTRY // ISO 3166-1-alpha-2
orderInfo['goodsInfo'] = goodsInfo
orderInfo['shippingAddress'] = shippingAddress
payload['orderInfo'] = JSON.stringify(orderInfo)

payload['signType'] = YOUR_CHOOSED_SIGN_TYPE
payload['merchantNo'] = YOUR_MERCHANT_NO
payload['notifyUrl'] = ASYNC_NOTIFY_URL
payload['echoParam'] = ECHO_PARAM
payload['sign'] = SIGN_VALUE


```

{% endtab %}

{% tab title="java" %}

{% endtab %}

{% tab title="php" %}

{% endtab %}
{% endtabs %}


---

# 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://useepay.gitbook.io/developer/reference/api-reference-xin-yong-ka/embedded-cashier/create-token.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.
