如何实现在您的UI中销售Metaframe虚拟货币

您可以在不使用Metaframe小组件的情况下销售虚拟货币(例如,希望使用自己的商店UI或使用其他授权服务),方法是使用Metaframe API实现购买、虚拟货币自动充值和显示用户余额的逻辑。

前提条件

开始前,请完成必要项目设置:

  1. 创建项目
  2. 在发布商帐户中创建虚拟货币套餐
  3. 获取必需的ID和密钥。方法是联系您的客户成功经理或发送邮件至csm@xsolla.comintegration@xsolla.com,并提供发布商帐户中的以下信息:
  • 商户ID,可在以下位置找到:
    • 公司名称的旁边。
    • 公司设置 > 公司部分中。
    • 在发布商帐户任意页面的浏览器地址栏的URL中。URL的格式如下:https:​//publisher.xsolla.com/商户ID/发布商帐户部分
  • 项目ID,可在项目名称的旁边找到。
  • 用于给项目Webhook签名的密钥,可在项目设置 > Webhooks部分找到。
  • API密钥,仅在创建时在发布商帐户中显示一次,必须存储在己侧。您可以在以下部分中创建新密钥:
    • 公司设置 > API密钥
    • 项目设置 > API密钥

艾克索拉团队会向您提供进行后续配置所需的信息:

  • 主机ID
  • 艾克索拉帐户OAuth 2.0客户端ID
  • 艾克索拉帐户OAuth 2.0客户端密钥

获取服务器令牌

必须有服务器令牌才能获取用户访问令牌和自动充值。

在应用程序的后端,实现一个方法通过生成JWT API调用来获取服务器JSON Web令牌(JWT)。请求必须包含以下参数:

  • grant_type是JWT的类型,请传入值client_credentials
  • client_secret是从艾克索拉处收到的密钥。
  • client_id是从艾克索拉处收到的客户端ID。

注:
服务器JWT有效期是59分钟。

获取用户访问令牌

必须有用户授权令牌才能生成支付令牌及请求用户的虚拟货币余额。

如果您使用自己的授权系统,可通过以下方法获取合适的授权令牌:

在社交网络登录过程中获取令牌

  1. 在您的发布商帐户中设置通过社交网络进行用户授权:

    1. 发布商帐户中打开您的项目。
    2. 在侧边栏中单击登录管理器
    3. 单击创建登录管理器项目
    4. 选择标准登录管理器项目,然后单击创建并设置。创建新登录管理器项目后,即可看到包含登录管理器项目设置的页面。
    5. 登录方法区块中,选择社交网络登录,然后单击配置
    6. 连接用于登录您的应用程序的社交网络。
    7. 在层级导航中单击您登录管理器项目的名称以返回登录管理器项目页。
    8. 前往安全性区块,然后选择JWT签名部分。
    9. 选择RS256作为签名生成算法,然后单击保存更改

  1. 在应用程序的客户端侧,使用通过社交网络的访问令牌进行认证API调用实现令牌的接收和刷新。

使用自定义ID获取令牌

在应用程序的后端,实现一个方法使用通过自定义ID进行认证API调用获取及更新令牌。请求必须包含X-Server-Authorization: <server_JWT>头,其中<server_JWT>是在上一步中获得的服务器JWT。

注:
用户JWT有效期是24小时。如要更改该有效期,请联系您的客户成功经理或发送邮件至csm@xsolla.comintegration@xsolla.com

通过API调用管理虚拟货币

任务API调用授权类型
创建手动购买虚拟货币的订单。Create manual purchase用户访问令牌
检索多种虚拟货币的余额信息。Get multi virtual currencies balance用户访问令牌
获取该用户的虚拟货币自动充值设置。Retrieve info about automatic purchase服务器令牌
更新该用户的虚拟货币自动充值设置。Update info about automatic purchase服务器令牌
为用户余额充值。Top up user’s multicurrency balance服务器令牌
注:
Create manual purchase API调用将返回一个支付令牌,用于打开支付UI及进行支付。关于如何打开支付UI的详细信息,请参阅支付中心文档
本文对您的有帮助吗?
谢谢!
我们还有其他可改进之处吗? 留言
非常抱歉
请说明为何本文没有帮助到您。 留言
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。
上次更新时间: 2024年10月10日

发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。

报告问题
我们非常重视内容质量。您的反馈将帮助我们做得更好。
请留下邮箱以便我们后续跟进
感谢您的反馈!