> For the complete documentation index, see [llms.txt](https://useepay.gitbook.io/developer/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://useepay.gitbook.io/developer/reference/api-reference-xin-yong-ka/embedded-cashier/create-token.md).

# 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 %}
