常见问答
- 在线聊天
- 电子邮件(integration@xsolla.com)
- 帐户经理
- 通过Basecamp的集成专家
集成
如何在iframe中打开支付中心?
建议使用Pay Station Embed脚本在灯箱(lightbox)中打开支付中心,其好处如下:
- 自动确定支付中心大小和设备类型(桌面或移动设备)
- 自动接收支付UI的事件
- 允许更改UI主题
如仍希望在iframe中打开支付UI,必须:
- 指定设备类型(桌面或移动设备)并将其包含在令牌的settings.ui.version参数中发送
- 实现postMessage机制以接收支付UI的事件
- 获取令牌
- 将支付中心窗口大小包含在令牌中发送:
支付中心大小 | Iframe宽度 |
---|---|
大(默认) | 670–850 px |
中 | 590–740 px |
小 | 510–630 px |
要在iframe中打开支付中心UI,请使用以下链接:https://secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN,其中ACCESS_TOKEN是支付UI令牌。
需要将哪些艾克索拉网络IP地址添加到白名单?
请务必确保可接收及处理以下IP地址发送的webhook:185.30.20.0/24、185.30.21.0/24。
如何将paysafecard添加到我的支付方式中?
如需新增支付方式,请发送邮件至integration@xsolla.com。
是否有Node.JS/C#/Ruby/Java/ASP的SDK?
目前我们只有PHP和Android的SDK。您可以使用任何语言/平台来创建自己的SDK,只要其具有HTTPS请求功能。
为何PHP库在我的网站上无法正常工作?
请检查是否已安装所有必需文件且相对路径有效。如需更多设置信息,请访问GitHub。
用户验证
用户ID是什么?应如何进行用户验证?
用户ID是认证游戏用户身份的一种方式。您可以使用数据库来存储用户ID。如果用户使用了无效的用户ID,应显示发生异常的消息。关于如何处理用户验证的示例,请访问GitHub。
完成验证后,应返回什么数据?例如,如果用户验证成功或失败,应返回什么?
如果用户验证成功,应发送200响应。如果验证失败,应发送400响应并包含错误代码INVALID_USER。
项目设置
是否需要为每个环境(QA、模拟生产、生产)新建项目ID?
建议分别创建项目以免影响生产环境。
密钥、项目密钥和API Key之间有何不同?
密钥和项目密钥没有区别。密钥用于安全支付所必需的数字签名。我们会将请求的JSON正文与您的项目密钥串联起来,然后对得到的字符串应用SHA-1散列。您帐户中的所有项目使用同一个API密钥。API密钥用在发送给艾克索拉服务器的API调用中。密钥必须保存在您自己的服务器中,切勿包含在游戏代码或前端中。
Webhook URL和“返回URL”有何区别?
webhook URL是您的webhook服务器的URL。返回URL是完成支付后用于重定向用户的URL。
在哪里可以找到我的项目ID/商户ID/发布商ID?
您的项目ID是您发布商帐户中项目名称旁边的一串数字。该数字也包含在以下URL中:https://publisher.xsolla.com/{merchant_id}/projects/{project_id}/。商户ID和发布商ID是相同的。即包含在以下URL中的数字:https://publisher.xsolla.com/{merchant_id}/。
在哪里可以找到API Key?
要生成API Key,请在发布商帐户中选择公司设置 > API 密钥。
Buycraft项目设置
哪里可以找到用于Buycraft项目的项目ID/商户ID/API Key/密钥参数?
请按照此指南的说明查找这些参数并设置您的项目。
对于Buycraft设置中“协议信息”部分的“游戏名称”字段,我应该怎么填写?
请输入您服务器的名称。
Webhook设置
对于webhook协议,我应该使用HTTPS吗?
是的,因为艾克索拉API使用基本认证。
为何webhook URL未收到你们的通知?
请确保已包含所有必需文件,且您的webhook服务器已设置为可处理必要的webhook请求类型。
为何不能向我的移动应用发送webhook?
webhook只能发送到单个URL端点(在您的项目设置中定义)。因此,webhook只能从服务器发送到服务器,不能发送到其他各种URL。如果要启用游戏、网站或移动应用通知功能,建议在您的服务器中建立一个消息发送解决方案,以在艾克索拉和游戏间传输数据。
定制化
如何自定义支付中心主题?
您可以在令牌中发送settings.ui.theme = default_dark,将主题改为深色。深色主题还允许您将背景设置为图片或自定义的颜色(请参阅示例)。如需更改其他设置,请联系您的帐户经理。
如何更改用户收到的消息的外观?
如要自定义邮件外观主题,请联系您的帐户经理。电子邮件元素的布局是标准模板的一部分,因此无法更改。根据与艾克索拉签订的许可协议,这一做法是必需的,因为艾克索拉是法律上的支付处理商户(Merchant of Record)。
测试
是否有可用于测试支付的模拟信用卡/借记卡?
有,您可在沙盒模式下使用我们提供的测试卡。
可以在沙盒模式下测试PayPal支付流程吗?
很遗憾,目前不支持在沙盒模式下测试PayPal支付。
如何模拟退款过程?
您可以使用退款webhook或通过发布商帐户中的支持 > 交易搜索进行。
项目的测试选项卡中的“艾克索拉发票ID”和“发票ID”是什么?
艾克索拉发票ID是您在艾克索拉中的交易ID。发票ID是您游戏中的选填交易ID。测试时可填写任意数值。
为何我无法通过Buycraft项目的测试?
对于Buycraft合作伙伴,如果其Buycraft帐户中未正确填写API Key、商户ID、项目ID或密钥,将收到INVALID_SIGNATURE错误。
支付
如何验证webhook中收到的支付请求?
检查用户ID以确认其在项目中存在,然后返回代码200来验证支付。
如何检查上一次使用的付款帐户?
目前不支持此类检查。
可以立即将用户重定向到特定支付方式吗?
可以,只需在打开商店UI时发送settings.payment_method参数即可。用户将被立即重定向到所选支付方式的支付表单。您可在发布商帐户的付款方式部分找到支付方式ID列表,或使用获取付款方式。
支付处理完毕后,是否可根据结果自动将用户重定向到支付成功/失败页面?
可以,请在发布商帐户中打开支付中心设置,然后设置重定向策略。
我们的账单系统会自动设置每个订单的order_id。那么收到令牌时是否可使用order_id而不是user_id?
您可在external_id参数中发送order_id值。要启用该参数,请前往“支付中心”设置,然后将External ID设置为开。
是否可为每个交易重写webhook URL?
不可以,webhook URL在发布商帐户中设置,且用于所有交易。
你们会发送失败交易的详细信息吗?
不会,我们只在交易成功后发送webhook。如果您收到了webhook,说明该交易成功。
怎样将VAT消费税添加到付款总额中?
增值税方面的设置由艾克索拉进行配置。默认配置是由您来支付增值税,如果要让用户支付增值税,请联系您的帐户经理,我们会更改相应设置。
PID是什么意思?
PID是艾克索拉侧的付款方式标识符。
怎样更新用户的虚拟货币余额?
可使用更新用户余额API方法。
External ID是指我的游戏/平台的自定义ID吗?需要为每个交易生成一个新External ID吗?
External ID是您系统中的发票ID。任何时候只能存在一笔具有指定external_id的付款,因此每次发生用户付款时应发送一个新的ID。
对于setExternalPaymentId方法应该设置何值?
设置为external_id的值(如有)。
怎样使用你们的PHP SDK来设置purchase.description.value?
购买描述信息用于支付中心UI和电子邮件支付凭证。可在令牌中设置该值。
什么是直接帐户?
直接帐户允许您直接从支付中心界面中提供的各支付系统接收付款。此种交互模式对于玩家一侧不会有任何变化。每笔购买交易通过所选的支付方式进行。不同点在于您可以连接任何支付系统或平台,并直接从支付系统提供商处接收付款。
艾克索拉只作为技术服务提供商提供此服务并收取一笔极低的收入分成:1.25% + $0.10。这意味着您可以使用艾克索拉解决方案的完整功能,但必须自行负责以下事项:
- 管理税务相关事宜
- 与各支付系统签订单独协议
- 留存从各支付系统获得的直接现金流
- 管理支付系统费用、拒付、退款、提现手续费及运营费用等
例如,如果您使用PayPal并希望将其作为直接支付方式,则需要使用直接帐户。使用该模式不会更改界面,但有一些重要的不同:付款处理完毕后,最终用户的付款将直接转账到您的PayPal帐户。此方法不需要艾克索拉的参与。
对于Buycraft项目,你们提供什么转账方式?
对于Buycraft项目,我们提供PayPal和银行转账。
如何将用户数据(保存的付款帐户信息、订阅等)迁移到艾克索拉?
请联系您的帐户经理来进行用户数据迁移。请务必使用PGP加密以确保安全性。
错误消息
使用支付中心UI时,我收到了以下错误代码:0004-0008。这是什么意思?
您误用了沙盒模式下的URL。如要进行真实付款,请使用secure.xsolla.com。如要进行测试性付款,请使用sandbox-secure.xsolla.com。关于可能遇到的其他错误,请参阅API参考。
艾克索拉PHP SDK返回INVALID_CLIENT_IP错误。我应该怎么处理?
必须将您的反向代理IP地址添加到webhook服务器。
错误2205及2207是什么意思(用户ID错误)?
它们表示您必须提供有效的用户ID。请确保使用的是您数据库中的用户ID。
1000-0003错误是什么意思?
您需要激活项目的模块;如果是在结账中,则您可能未提供购买参数。
0002-0004错误是什么意思?
该错误表示您必须与我们签署协议才能接收付款。如需帮助,请联系您的帐户经理或发送邮件到onboarding@xsolla.com。
为何webhook请求中没找到授权标头?
您需要编辑.htaccess或httpd.confApache文件。详细信息请参阅艾克索拉SDK文档。
我可能因为SSL问题无法获取令牌字符串。你们的接口强制要求验证SSL吗?
默认情况下我们启用SSL证书认证,并使用操作系统提供的默认CA捆绑包。关于排查SSL问题的详细信息,请参阅艾克索拉SDK文档。