常见问答
集成
如何在iframe中打开支付中心?
建议使用Pay Station Embed脚本在灯箱(lightbox)中打开支付UI。使用该脚本的好处如下:
- 自动确定支付UI大小和设备类型(桌面、移动设备)
- 自动接收支付UI的事件
- 可更改UI主题
要在iframe中打开支付UI:
- 实现
postMessage
机制从支付UI接收事件。 - 通过
https://sandbox-secure.xsolla.com/paystation4/?token=TOKEN
链接打开支付UI,其中TOKEN
是收到的令牌。
潜在问题:在iframe中打开支付UI时如果未显示某些支付系统要求的付款验证码复制按钮,请向iframe传入allow=“clipboard-read; clipboard-write; payment”
属性。
示例:
- html
<iframe
src="https://sandbox-secure.xsolla.com/paystation4/?token=TOKEN"
width="800"
height="700"
allow="clipboard-read; clipboard-write; payment"
></iframe>
我要将哪些艾克索拉网络IP地址添加到允许列表中以配置Webhook?
您需要接收并处理来自以下IP地址的Webhook:
185.30.20.0/24
185.30.21.0/24
185.30.23.0/24
如集成了登录管理器,请额外添加处理来自以下IP地址的Webhook:
35.236.32.131
34.94.154.26
34.94.14.95
34.102.48.30
34.94.115.185
34.94.173.132
35.236.35.100
35.236.117.164
34.94.0.85
35.235.99.248
34.94.25.33
是否有面向Node.JS/C#/Ruby/Java/ASP的SDK?
目前有面向PHP和Android的SDK。您可以使用任何语言/平台来创建自己的SDK,只要其具有HTTPS请求功能即可。
用户验证
用户ID是什么?
用户ID是用于识别游戏中用户身份的参数。可将用户ID保存在数据库中。收到无效的用户ID时,可抛出意外错误。关于用户验证的示例,请参阅GitHub存储库。
完成验证后应返回什么数据?
验证成功后,返回HTTP代码200
。如发生错误,则返回代码400
(INVALID_USER
)。
项目设置
是否需要为每个环境(QA、暂存、生产环境)新建项目?
对于测试,建议使用单独的项目以免影响生产环境。
密钥、项目密钥和API Key之间有何不同?
密钥与项目密钥是一样的,用于处理安全支付时所必需的数字签名。请求的JSON正文会连接该密钥,然后使用SHA-1对结果进行散列。
发送给艾克索拉服务器的API调用需要用到API密钥。该密钥必须保存在您自己的服务器上,绝对不要放在代码或前端中。关于使用API密钥的详细信息,请参阅API参考。
Webhook URL和返回URL有何区别?
Webhook URL是您Webhook服务器的URL地址,通知将发送到该服务器。返回URL是用户完成支付后将其重定向到的目标URL地址。
在哪里可以找到项目ID?
在发布商帐户中打开您的项目,然后前往项目设置 > 常规设置部分。
在哪里可以找到商户ID?
打开发布商帐户,然后前往公司设置 > 公司部分。
在哪里可以找到API Key?
API密钥仅在创建时在发布商帐户中显示一次,必须存储在己侧。您可以在以下部分中创建密钥:
- 公司设置 > API密钥
- 项目设置 > API密钥
关于使用API密钥的详细信息,请参阅API参考。
关于密钥的建议:
- 请在己侧保存生成的API密钥。您仅会在创建API密钥时在发布商帐户中看见它一次。
- 请妥善保管API不被泄露。它提供对您的个人帐户及您在发布商帐户中项目的访问权限。
- API密钥必须存储在您的服务器上,切勿保存在代码或前端中。
如果所需API调用不包含project_id
路径参数,请使用在您公司的所有项目中都有效的API密钥来设置授权。
Webhook设置
我需要用HTTPS作为Webhook协议吗?
是的。
为何艾克索拉通知没有发送到Webhook URL?
请确保您的Webhook服务器支持需要的HTTP请求类型(POST、GET)。
为何Webhook没有发送到我的移动应用?
Webhook只能发送到一个URL地址(在您的项目设置中指定)。由于是服务器对服务器通信,因此Webhook不能发送到多个URL地址。如要在您的游戏、网站或移动应用中接收通知,请在您的服务器上设置Webhook发送以在艾克索拉和您的游戏间传输数据。
定制化
可以自定义支付UI主题吗?
您可以在令牌中发送settings.ui.theme = default_dark
参数启用深色主题。深色主题允许您设置背景图片或更改背景颜色(如演示所示)。如需更改其他设置,请联系您的客户成功经理或发送邮件至csm@xsolla.com。
可以更改发送给用户的邮件的外观吗?
可以。请按照如何自定义给用户的邮件的说明进行操作。电子邮件元素的顺序是标准模板的一部分,因此无法更改。根据与艾克索拉签订的许可协议,这一做法是必需的,因为艾克索拉是法律上的在册商户。
测试
可以使用测试银行卡来测试支付过程吗?
可以,但仅限于在沙盒模式下运行您的应用程序或支付中心演示的情况。请参阅不同平台不同发卡国家/地区测试银行卡的通用列表。
可以在沙盒模式下测试PayPal支付流程吗?
是的,请在说明中查看详细信息。如何测试退款过程?
您可以通过请求退款API调用来测试退款。详细信息请参阅说明。
发布商帐户Webhook测试选项卡中的“艾克索拉发票ID”和“发票ID”是什么?
艾克索拉发票ID是艾克索拉侧的交易ID。测试时可填写任意数值。
发票ID是您游戏中的选填交易ID。测试时可使用任意字母数字的组合。
支付
如何验证webhook中收到的支付请求?
首先,检查指定用户ID是否在项目中存在。然后,返回200
代码验证支付。可以将用户重定向到特定支付方式吗?
打开商店UI时,您可以在settings.payment_method
参数中传入支付方式ID。此情况下,用户将被重定向到所选支付方式的支付表单。您可以在发布商帐户的支付中心 > 付款方式部分找到支付方式ID。支付处理完毕后,是否可根据结果自动将用户重定向到支付成功/失败页面?
可以,您可以配置重定向条件。详细信息请参阅说明。我们的账单系统会自动设置每个订单的order_id。那么收到令牌时是否可使用order_id而不是user_id?
不能,必须使用user_id
一切才能正常运行。
您可以额外在external_id
参数中传入order_id
。方法是:
- 打开发布商帐户。
- 前往支付中心 > 设置部分。
- 在其他设置部分,将交易外部ID开关设置为开。
是否可覆写各交易的webhook URL?
不可以,所有交易的webhook URL需在发布商帐户的项目设置中进行设置。我会收到失败交易的详细信息吗?
不会,艾克索拉只发送成功交易的webhook。如果您收到了一个支付通知,说明该交易是成功的。如何将增值税加入总支付金额中?
默认情况下,增值税设置在艾克索拉侧配置。如要更改该设置并将增值税加入用户的总付款金额中,请联系您的客户成功经理或发送邮件至csm@xsolla.com。PID代表什么?
PID是艾克索拉侧的付款方式标识符。External ID是什么?
External ID是在您的系统中分配给订单的游戏交易ID。在艾克索拉侧,External ID与交易ID关联,因此启用的External ID可以让艾克索拉防止对同一交易重复付款。External ID对每个用户付款必须唯一。
要在项目中启用External ID:
- 在发布商帐户中打开您的项目,然后前往支付中心 > 设置部分。
- 将交易外部ID开关设置为开。
需要为每个交易生成一个新的External ID吗?
是,External ID对每个付款必须唯一。对于setExternalPaymentId方法需要设置何值?
setExternalPaymentId
方法的值应与external_id
一致(如有)。什么是直接帐户?
与支付系统签订协议后,即可用直接帐户在支付UI中显示这些支付选项。玩家仍可通过所选支付方式支付购买物,您将直接从这些支付系统提供商收到付款。要连接直接帐户,请在发布商帐户中打开您的项目,然后前往支付中心 > 直接帐户部分。
艾克索拉作为技术服务提供商提供此服务并收取一笔极低的收入分成:交易金额的1.25% + 0.10美元。您可以使用所有艾克索拉解决方案的完整功能,但必须自行负责以下事项:
- 管理税务相关事宜
- 与各支付系统签订单独协议
- 留存从各支付系统获得的直接现金流
- 管理支付系统费用、拒付、退款、提现手续费及运营费用等
例如,如您使用PayPal并希望将其设置为直接支付方式,您可以连接一个直接帐户。支付UI将不会改变,仅影响提现过程。支付完成处理后,玩家的钱将转入您的PayPal帐户。此例中,艾克索拉不会参与提现过程。
如何将用户数据(保存的付款帐户信息、订阅等)迁移到艾克索拉?
请联系您的客户成功经理或发送邮件至csm@xsolla.com。请务必使用PGP加密以确保安全性。
艾克索拉PGP密钥参数:
- 密钥ID:FBA38225
- 密钥类型:RSA
- 密钥长度:4096
- 指纹:4D63 4B67 B265 5464 D39D 7228 67B0 672A FBA3 8225
- 用户ID:admins@xsolla.com
- html
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFnUnJYBEACy51rPKxhjdyJ4VpLZmQb72m+e35blRso9lWfDRQc7eOb09vY4
k1aEgWg39qobMDrcyASCsaKt1vPJUktGexeeuqDAaGxnGdm2lG32rMWR+5caCSzF
q/zv+slRGsnc5dfpPnzyOkjqoTR42vLwzPfyPUBkond//lD6UZb68RxTOrD+luoC
v+pdB7EMfJCP9hitQFnIzYTQbHNApZsp2iLL12TJodtffZpnJuEIh95vIw760Fcj
im/TZAkv+0+REV4YCsmWiJ9zeWakQ53iqbeyrCPaOo7ThY5FRBLJGIERPtMAHMBI
edWiKpv08ZlwPk88Dssm7L257bYdSYk+guaHRG2aUiobKg2qPwpCc30+AjY2UmZE
aOsrLE5aL678gF4cMrx742VBEHNhiUa5U+dhRNrhmBG3+o2iAte6viksfShc+qu0
0jyKgGGMZbyzqwDyzOTzctYHfjraH4MBFn8TB+H/CBbSUB9yNOF2sWLlBChnAtkl
2qynKoje7M+APOKTmI19adG/lz264QoXFBpk1WcOJpKHXhZiFaZlyW6vbtWiPEXk
UJxIRIV3LM1O59TyV7N/RwlOU9xMdfuxVuGT3zUjYtgMEFUNvD0eKE6kmCTepLVo
RXSNUTeNx6bUMuGJe8Lkm5c/gu4HSdtXVD/go/TA/aRg0148VNcP8E3wvwARAQAB
tCNYc29sbGEgU2VjdXJpdHkgPGFkbWluc0B4c29sbGEuY29tPokCTgQTAQoAOBYh
BE1jS2eyZVRk051yKGewZyr7o4IlBQJZ1JyWAhsDBQsJCAcDBRUKCQgLBRYCAwEA
Ah4BAheAAAoJEGewZyr7o4Il7PwP/3+davocs5vwjAwTdqNcHNZYhtIb7HcHOGUv
CpmSfPntE2NsShgN9XipWd1pAWEM1PhQ+mGadiWNdhLpA9AvZFZwshzxSI05Sveo
4G+zPrTuUjSGQ9X7s5f4gvY7ZM3jwcAQrg7T8O3J9iVuZT15Z7Vjw9HdRAHlgJmg
Hubn/ztm1mnjfN1lfN+21/whcDyzXouh678Br2sqxHzo6ab4bf5zDXHPE28T571/
UZ6Qc8biOM0aH8jfVJWbgyAVaDJ4TjHvQcLVZZQuI+mDsbaL01zfRS3s1002hyJ6
4OGCVq1N0YFN4H8/TYMvLsWS3col3K30lx5ffu8IcSLSdHqEFi5ryfzVViP7iS9U
FkOcA6O/pHvDbpyxDmAzzWOKGEEGsw2PUZbv+IsHtTU4XBt0uE5yJ4rJfjtGBdQN
CALm3tsnrCzserCCpl1gQEuc4/WiCpF4AuMf8n+R8CHH4oIgn0g3CEtfI88GIwqb
F/qMQJIR6T8lQPFbdTTyI7ykcprSWyzAwZN/Riy1/OlO/qgIuQPUUE69SdXP9Zxb
WS2B8TvHHuHJ8xJ4d28ns6bB/BqCQYxcb5SeKVw2BoOQA1TtpYeDx2Lo3s9anfBQ
SfF64i4zGNAGT3MqJcp0TfmokWQXEoSQ37zqKK8N8bnwvuQtJWQTF5x/6ObfmWw1
1n8SsijAuQINBFnUnJYBEACykdUhbVZJJwnhhYrMxfof0gUkU61Drm/qrgsh74Ai
tkeykMkf73exPXIUbJ91WP0EcZkKVmkHep0ZqTTUbsyjR5UEIgHWWN2GnF509TZk
JjswrvJOHPxLpFk5xhOVmb93MLYKJ2xuv/UMGwnMOE2kZGnpP9bZuNqD84lOtosn
PUxUx4lhcqD2yxYtu7W/KQn9dlAh17CxRBy2ilHZSRI+uJw6CkSejnipb9ycQtK4
wcy7DMOCKUGPdCunm0rXdfEp76REdglhCvz3w86pyAK0twXF9aUlGcr6HJW0EqvR
jK6PROPaEbSrlCsln7KgnbBWnj670wmRD56NkNdXyEZ6dw4pb4Ld4nt62ueeP1jX
y141V9WZFgaod7hL5P2HT8rWDZlYHqI+6J5etAOyQ1r/6bh3wkh+yBL7ZgVa/XEi
Dy8qeB/s7hw1OBy+dOKpjWyg0tcMlyXvUz26K5W2NO+hSN4Tbv8isx0bPT60t/dm
YSRAZn5VYX8J7UP4dm5jJJBflYQEz+PsuPGKoP0vgBHwaZPKvSR7XTyZockBX3YC
DwGCB++ZRv7sBoJPXXtvsK9pf39nsUeiPWNY/NvJlzITA9dfshz8N/BnzvwNoBRd
sDwbxV9y+KG55/ovw80v5yp7OJrUO83uOMCE2wbb4U4SCMN1tbqaJWR673HUaGlS
EQARAQABiQI2BBgBCgAgFiEETWNLZ7JlVGTTnXIoZ7BnKvujgiUFAlnUnJYCGwwA
CgkQZ7BnKvujgiXmXw//Q+UQe84vAJLeuU4az+WDt+HBVzCCmAfNqXbx8HhTrrVn
q4oKBWyjIxlmXmRQrmRwyk00SzKU6mW1gYCWHY8YSlRNthzk1LZmWFdcnvi+E2k3
fsZR2R+1bEdj/t5cGEuCopG15QOKilwPMOvMt3Kgkk5VXI4eE/lFvTGj9oEwL6wx
i7m+ywdA4BAKg1UfexnteX5bTUJGP6tfqOUp/tmwCBWU1nKtbsSx24FJc8kQHSUD
UqKFkCFm1LlB0TS36S0Z+8xL0gs/dyMx7AWJx1ADG8270TEI4kfOsOh4GyD8+ZOE
GRHuip+8zCwtmV+RFroSr+n/X1COoyiOQwjlBRc0WbC94/k+11n5NY0rFNo82Ipg
F3s4yGZUajGx4dlcpUmTqQ81y0Sgwwo1o1P3blXZUnQ6m3EOskhJOjHYRDaCIewX
cv11NTl9BuMtD+uPaOOm6vjnoCp2qh6wS5m0QM0fGfJHpZWOpMhYCb9SOkX52Tpo
UBsGhT9FeNI/Oe9xLFdn9oDMJADiuPrDQB5S2G6j0g5wI4xSALG6DhsUvMTA+JhW
453Qhfb31mVy7VVEbX4QC98Dhy0kJWvNIJJo7Zdtu0+3rAOzYojzZPPgRu627fPY
TdLW0D4fmB0ffV2j9rJ+YP+NFNpeQLRyuo5F0IflFpB+88pqGYWEicQMt+VcfBA=
=7AyM
-----END PGP PUBLIC KEY BLOCK-----
如何判定用户的国家/地区?
使用生成支付令牌的客户端侧API调用时,艾克索拉根据请求的IP地址判定用户的国家/地区。
使用生成支付令牌的服务器侧API调用时,根据以下检查顺序判定国家/地区:
- 请求正文中
user.country.value
参数的值 X-User-Ip
头中的IP地址
如上述值均未传递,则显示错误。如果两个值都存在,则使用请求正文中的信息。
错误消息
收到0004-0008错误该怎么办?
请检查是否使用了正确的URL地址:- 要在沙盒模式下打开支付UI,请使用此链接:
https://sandbox-secure.xsolla.com/paystation4/?token=ACCESS_TOKEN
,其中ACCESS_TOKEN
是收到的令牌。 - 要进行真实付款,请使用此链接:
https://secure.xsolla.com/paystation4/?token=ACCESS_TOKEN
,其中ACCESS_TOKEN
是收到的令牌。
收到2205或2207错误(用户ID错误)该怎么办?
- 传入有效的用户ID,即数据库中的
user_id
。 - 关于Webhook使用的建议:
收到1000-0003错误该怎么办?
请为项目激活相应模块。收到0002-0004错误该怎么办?
请签订艾克索拉的许可协议以接收提现。如需帮助,请联系您的客户成功经理或发送邮件至onboarding@xsolla.com。收到3032错误该怎么办?
请通过任意适用的通讯渠道将支付令牌连同错误的信息以及用户ID和项目ID发送给集成团队。为何webhook请求中没有授权标头?
要解决此错误,需编辑.htaccess
或httpd.conf
Apache文件。详细信息请参阅SDK文档。联系信息
- 点击右下角的聊天图标通过即时通讯工具联系集成团队。您将实时得到问题的解决方法。
- 发送邮件至integration@xsolla.com。
- 联系您的客户成功经理或发送邮件至csm@xsolla.com。
- 通过Basecamp联系集成专员。
发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。