获取令牌以打开支付UI
要打开支付UI,您需要先获取令牌。令牌是一个包含游戏和用户加密数据的字符串。您需要实现获取令牌来识别用户身份以允许其进行购买。
要获取支付令牌:
获取用户授权令牌
令牌的有效期是自最后一次调用艾克索拉API后24小时。请实现令牌过期后重新获取令牌的逻辑。建议在后台获取新令牌,这样用户就无须重新登录应用。
在您的应用程序后端,实现获取用户认证令牌。方法是使用包含基本HTTP认证的HTTP POST请求,并在请求正文中传入必需参数。
基本HTTP认证
艾克索拉API使用基本认证。所有发送到API的请求必须包含Authorization: Basic <your_authorization_basic_key>头,其中<your_authorization_basic_key>是按照Base64标准加密的商户ID: API密钥对。请前往发布商帐户找到以下参数:
- 商户ID在以下位置显示:
- 在公司设置 > 公司部分。
- 在发布商帐户任意页面的浏览器地址栏的URL中。URL的格式如下:
https://publisher.xsolla.com/<merchant_id>/。
- API密钥仅在创建它时在发布商帐户中显示一次,必须存储在己侧。您可以在以下部分中创建新的密钥:
关于使用API密钥的详细信息,请参阅API参考。
关于密钥的建议:
- 请在己侧保存生成的API密钥。您仅会在创建API密钥时在发布商帐户中看见它一次。
- 请妥善保管API不被泄露。它提供对您的个人帐户及您在发布商帐户中项目的访问权限。
- API密钥必须存储在您的服务器上,切勿保存在代码或前端中。
如果所需API调用不包含project_id路径参数,请使用在您公司的所有项目中都有效的API密钥来设置授权。
艾克索拉API使用基本认证。所有发送到API的请求必须包含Authorization: Basic <your_authorization_basic_key>头,其中<your_authorization_basic_key>是按照Base64标准加密的商户ID: API密钥对。请前往帐户找到以下参数:
- 商户ID可在以下位置查看:
- 公司设置部分。
- 任意帐户页面浏览器地址栏中的URL。URL格式如下:
https://xsolla.com/for/free-to-play-pc/account/<merchant_id>/。
- API密钥创建后仅会在您的帐户中显示一次,需由己侧妥善保存。您可以在以下部分创建新密钥:
关于使用API密钥的详细信息,请参阅API参考。
关于密钥的建议:
- 请在己侧保存生成的API密钥。您仅会在创建API密钥时在帐户中看见它一次。
- 请妥善保管API不被泄露。它提供对您的个人帐户及您在帐户中项目的访问权限。
- API密钥必须存储在您的服务器上,切勿保存在代码或前端中。
如果所需API调用不包含project_id路径参数,请使用在您公司的所有项目中都有效的API密钥来设置授权。
艾克索拉API使用基本认证。所有发送到API的请求必须包含Authorization: Basic <your_authorization_basic_key>头,其中<your_authorization_basic_key>是按照Base64标准加密的商户ID: API密钥对。请前往帐户找到以下参数:
- 商户ID可在以下位置查看:
- 公司设置部分。
- 任意帐户页面浏览器地址栏中的URL。URL格式如下:
https://xsolla.com/for/premium-pc-games/account/<merchant_id>/。
- API密钥创建后仅会在您的帐户中显示一次,需由己侧妥善保存。您可以在以下部分创建新密钥:
关于使用API密钥的详细信息,请参阅API参考。
关于密钥的建议:
- 请在己侧保存生成的API密钥。您仅会在创建API密钥时在帐户中看见它一次。
- 请妥善保管API不被泄露。它提供对您的个人帐户及您在帐户中项目的访问权限。
- API密钥必须存储在您的服务器上,切勿保存在代码或前端中。
如果所需API调用不包含project_id路径参数,请使用在您公司的所有项目中都有效的API密钥来设置授权。
艾克索拉API使用基本认证。所有发送到API的请求必须包含Authorization: Basic <your_authorization_basic_key>头,其中<your_authorization_basic_key>是按照Base64标准加密的商户ID: API密钥对。请前往帐户找到以下参数:
- 商户ID可在以下位置查看:
- 公司设置 > 常规信息部分。
- 任意帐户页面浏览器地址栏中的URL。URL格式如下:
https://xsolla.com/for/web-games/account/<merchant_id>/。
- API密钥创建后仅会在您的帐户中显示一次,需由己侧妥善保存。您可以在以下部分创建新密钥:
关于使用API密钥的详细信息,请参阅API参考。
关于密钥的建议:
- 请在己侧保存生成的API密钥。您仅会在创建API密钥时在帐户中看见它一次。
- 请妥善保管API不被泄露。它提供对您的个人帐户及您在帐户中项目的访问权限。
- API密钥必须存储在您的服务器上,切勿保存在代码或前端中。
如果所需API调用不包含project_id路径参数,请使用在您公司的所有项目中都有效的API密钥来设置授权。
请求正文
在请求正文中传入以下必要参数:
| 参数 | 类型 | 描述 |
|---|---|---|
user.id | string | 您系统中的唯一用户ID。 |
user.email | string | 接收购买收据的用户邮箱。如未传入此参数,将在支付页面显示一个必填字段要求其输入邮箱地址。 |
settings.project_id | integer | 游戏的艾克索拉ID。可在发布商帐户的项目部分找到该信息。 |
| 参数 | 类型 | 描述 |
|---|---|---|
user.id | string | 您系统中的唯一用户ID。 |
user.email | string | 接收购买收据的用户邮箱。如未传入此参数,将在支付页面显示一个必填字段要求其输入邮箱地址。 |
settings.project_id | integer | 游戏的艾克索拉ID。可在帐户的项目部分找到该信息。 |
| 参数 | 类型 | 描述 |
|---|---|---|
user.id | string | 您系统中的唯一用户ID。 |
user.email | string | 接收购买收据的用户邮箱。如未传入此参数,将在支付页面显示一个必填字段要求其输入邮箱地址。 |
settings.project_id | integer | 游戏的艾克索拉ID。可在帐户的项目部分找到该信息。 |
| 参数 | 类型 | 描述 |
|---|---|---|
user.id | string | 您系统中的唯一用户ID。 |
user.email | string | 接收购买收据的用户邮箱。如未传入此参数,将在支付页面显示一个必填字段要求其输入邮箱地址。 |
settings.project_id | integer | 游戏的艾克索拉ID。可在帐户的项目部分找到该信息。 |
| 参数 | 类型 | 描述 |
|---|---|---|
user.name | string | 在收据上显示的用户昵称。 |
settings.currency | string | 首选支付货币。 |
settings.language | string | 界面语言。 |
- curl
1curl -i -X POST \
2 -u 2340:ZHgbSDVP6LtAJVWu \
3 https://api.xsolla.com/merchant/v2/merchants/<merchant_id>/token \
4 -H 'Content-Type: application/json' \
5 -d '{
6 "settings": {
7 "currency": "USD",
8 "language": "en",
9 "project_id": <project_id>
10 }
11 },
12 "user": {
13 "email": {
14 "value": "<user_email>"
15 },
16 "id": {
17 "value": "<user_id>"
18 },
19 "name": {
20 "value": "<user_name>"
21 }
22 }
23 }'
响应中收到的用户认证令牌示例:
- json
1{
2 "token": "1230OWrp0KF6uqvmN8jWuzLyoXMzxTyK_lc_en"
3}
获取支付令牌
token— 支付令牌
发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。