如何获取支付令牌
要打开支付UI,您需要先获取令牌。令牌是一个包含游戏和用户加密数据的字符串。您需要实现获取令牌来识别用户身份以允许其进行购买。
要获取支付令牌:
注:
获取用户授权令牌
令牌的有效期是自最后一次调用艾克索拉API后24小时。请实现令牌过期后重新获取令牌的逻辑。建议在后台获取新令牌,这样用户就无须重新登录应用。
在您的应用程序后端,实现获取用户认证令牌。方法是使用包含基本HTTP认证的HTTP POST请求,并在请求正文中传入必需参数。
API参考
查看完整参数列表。
基本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>/<Publisher Account section>
。
- API密钥仅在创建它时在发布商帐户中显示一次,必须存储在己侧。您可以在以下部分中创建新的密钥:
- 公司设置 > API密钥
- 项目设置 > API密钥
注意
关于使用API密钥的详细信息,请参阅API参考。
关于密钥的建议:
- 请在己侧保存生成的API密钥。您仅会在创建API密钥时在发布商帐户中看见它一次。
- 请妥善保管API不被泄露。它提供对您的个人帐户及您在发布商帐户中项目的访问权限。
- API密钥必须存储在您的服务器上,切勿保存在代码或前端中。
如果所需API调用不包含project_id
路径参数,请使用在您公司的所有项目中都有效的API密钥来设置授权。
请求正文
在请求正文中传入以下必要参数:
参数 | 类型 | 描述 |
---|---|---|
user.id | string | 您系统中的唯一用户ID。 |
user.email | string | 接收购买收据的用户邮箱。如未传入此参数,将在支付页面显示一个必填字段要求其输入邮箱地址。 |
settings.project_id | integer | 游戏的艾克索拉ID。可在发布商帐户的项目部分找到该信息。 |
为提升用户体验,还可以传入以下参数:
参数 | 类型 | 描述 |
---|---|---|
user.name | string | 在收据上显示的用户昵称。 |
settings.currency | string | 首选支付货币。 |
settings.language | string | 界面语言。 |
Copy
curl -i -X POST \
-u 2340:ZHgbSDVP6LtAJVWu \
https://api.xsolla.com/merchant/v2/merchants/<merchant_id>/token \
-H 'Content-Type: application/json' \
-d '{
"settings": {
"currency": "USD",
"language": "en",
"project_id": <project_id>
}
},
"user": {
"email": {
"value": "<user_email>"
},
"id": {
"value": "<user_id>"
},
"name": {
"value": "<user_name>"
}
}
}'
响应中收到的用户认证令牌示例
Copy
{
"token": "1230OWrp0KF6uqvmN8jWuzLyoXMzxTyK_lc_en"
}
获取支付令牌
要获取支付令牌,请创建订单。 订单即用户想在商店中购买的商品。支付订单后,用户即收到商品。要测试支付过程,请通过使用指定商品创建订单API调用创建订单:
注:
要调用艾克索拉API,您可以使用针对各游戏引擎和平台的现成SDK:
token
— 支付令牌
本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。