使用now.gg支付享受无缝应用内购买的便利。
使用支付面板(Payments dashboard),您可以配置以下选项:
集成
要在应用中处理支付,您可以选择以下方式之一:
使用SDK支付
集成我们的支付SDK以便无缝处理应用内购买。我们为原生Android和Unity应用提供集成支持。
优势:
- 通过简化的设置和最小的开发量轻松集成。
- 全面支持原生Android和Unity应用程序,以获得无缝体验。
- 全球覆盖,支持多个地区的各种支付方式。
- 轻松支持可消耗品和定期订阅。
开始步骤:
- 在支付面板上:
- 选择“使用SDK支付”(Payment with SDK)
- 您可以使用以下链接访问支付SDK集成指南:
- 点击“保存”(Save)。
无代码支付
选择 “无代码支付”(‘No Code Payment’)以便在不集成SDK或修改APK的情况下启用应用内购买的支付。
优势:
- 无需集成SDK或修改应用程序的APK即可轻松设置。
- 无缝交易,带来流畅、用户友好的支付体验。
- 启用支付而无需编写任何额外的代码。
- 减少了应用内购买功能的开发和测试时间。
- 为用户保障安全和可靠的交易。
开始步骤:
- 在支付面板上:
- 选择“无代码支付”(’No Code Payment’)。
- 提供前提条件信息
- 进行支付配置。
前提条件
以下章节包含一些问题,用于确定 “无代码支付” (’No Code Payment’)的确切集成场景。
- 您是否使用SafetyNet等服务加密了您的 APK?(是-Yes /否-No)
- Yes – 如果您使用SafetyNet等服务加密了您的APK,那么您必须集成 now.gg支付SDK.
- No – 继续下一个问题。
- 您如何验证应用中的支付?(从下拉菜单中选择)
支付配置
根据前提条件章节的选择,使用以下信息进行配置:
服务器端配置
如果您在前提条件章节选择“服务器端”,您将拥有以下配置选项。
- 在你根据 提供的指南 进行必要的更改之后,点击“我已配置服务器”(I have configured Server)。
- 选择您的APK和应用内产品。
重要信息
- 请确保根据 提供的指南 去配置 “无代码支付” 的服务器端IAP验证。
选择APK和应用内产品
以下步骤适用于 “服务器端”(’Server side‘)和“不验证”(’Don’t Verify‘)选项:
1. APK选择
选择要用于“无代码支付”的APK。
执行如下步骤:
- 点击 “选择APK”(Choose Apk)。
您将被提示通过以下三种方法之一添加APK:
- 上传APK
你可以上传一个apk – 了解更多。
- 上传Zip(APK+Assets)
您可以上传一个apk的ZIP – 了解更多。
- 应用库(App Library)
从应用库中选择已上传的应用 – 了解更多。
2. 产品可用性
添加要用于“无代码支付”的应用内产品。
3. 部署“无代码支付”的构建版本
在我们为您应用的构建版本启用“无代码支付”之后,它将保存在应用库资源管理器(App Library Explorer),并带有“无代码支付”(‘No Code Payment’)标志,如下所示:
- 从应用库中选择此版本的应用程序以::
- 在创建发布时,选择“来自应用库”(‘From App Library’)选项,并选择带有“无代码支付”(‘No Code Payment’)标志的构建版本。
- 您可以通过点击相应构建前面的 (i) 图标来访问您在上传时添加的任何构建特定信息。
重要信息
- 要为另一个应用版本启用“无代码支付”,请转到支付页面(Payment Page)> 点击右下角的“编辑”(Edit)。
第三方支付
如果您的应用已集成任何第三方支付选项,则可以使用该选项处理应用内支付。
要添加第三方支付选项:
- 在支付(Payments)选项卡中,选择第三方支付。
- 输入您的支付提供商(payment provider)名称。
- 点击“保存”(Save)。
重要信息
- 使用第三方支付选项时,所有购买订单和相关的分析数据将在nowStudio中不可用。
应用内产品
本章节描述了添加和修改您希望在应用/游戏中列出的应用内产品的步骤,以供用户购买。
添加应用内产品:
- 登录 nowStudio.
- 点击“所有应用”(All Apps)
- 点击应用名称旁边的“查看详情”(View Details)。
- 点击顶部导航栏上的“支付”(Payments)。
- 点击左侧边栏中的“应用内产品”(In-App Products)。
- 选择以下任一项:
- 批量导入(Bulk Import)
- 添加产品(Add Product)
批量导入
使用此选项,您可以将应用内产品批量导入到nowStudio。
执行此操作:
- 点击右上角的“批量导入”(Bulk Import)按钮。
- 点击如下所示的“+”图标:
- 选择包含应用内产品的.csv文件
- (您应根据提供的格式准备CSV文件。点击“下载CSV格式”(‘Download CSV Format’)链接下载 CSV 格式。)
- 启用基础货币 (‘Enable Base Currency’)(可选)
- 如果启用基础货币选项,我们将更新CSV中未列出特定地区价格的产品。
- 请确保为目标地区的所有产品设置基础价格。(‘Base Currency’)
- 点击“导入”(’Import’)。
支持的 CSV 编码
语言/脚本 |
编码 |
概要 |
通用 |
ASCII, UTF-8, UTF-16 (LE, BE), UTF-32 (LE, BE, LE 带 BOM, BE 带 BOM) |
BOM = 字节序标记 |
中文 |
Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN(简体和繁体) |
用于简体和繁体中文;ISO-2022-CN 支持两者 |
日文 |
EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP |
SHIFT_JIS 和 CP932 常用于 Windows 环境。 |
韩文 |
EUC-KR, ISO-2022-KR, Johab |
EUC-KR 广泛支持;Johab 较少使用,但在某些应用中仍有用。 |
西里尔字母(包括保加利亚语) |
KO18-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, Windows-1251 |
ISO-8859-5 和 Windows-1251 也适用于保加利亚语支持。 |
西欧语言 |
ISO-8859-1, Windows-1252, MacRoman |
常用于西欧语言。 |
希腊语 |
ISO-8859-7, Windows-1253 |
常用于希腊语。 |
希伯来语 |
ISO-8859-8, Windows-1255(视觉模式和逻辑模式) |
支持视觉模式和逻辑模式,以兼容不同的文本渲染系统。 |
泰语 |
TIS-620 |
泰语文本的编码标准。 |
重要信息
- 请确保为目标地区的所有产品设置基础价格。
- 如果您的游戏已在PlayStore发布并且有现有的应用内产品,您可以从Google Play Console导出它们的CSV文件。
- 在提供的CSV格式中,只需添加产品图片作为额外的列,并使用批量导入功能将您的应用内产品添加到nowStudio。
添加产品
使用此选项,您可以将应用内产品添加到nowStudio。
注意:nowStudio允许您为应用内产品添加翻译,以便为全球用户提供本地化体验。如果用户的语言偏好与您添加的翻译语言匹配,他们将看到已翻译的应用内购买产品。
为此,请提供以下信息:
- 产品ID
- 显示的标题
- 此字段支持多个值(翻译),以换行符分隔。请参考此处了解更多信息。
- 描述
- 此字段支持多个值(翻译),以换行符分隔。请参考此处了解更多信息。
- 图标 – 点击“选择文件”(Pick file)
- 尺寸– 1024 x 1024px
- 图片格式 – .JPG, .JPEG, .PNG
- 大小上限 – 10 Mb
- 选择价格设置。
您可以选择/创建价格模板或为您添加的产品设置自定义价格。
- 价格模板
- 自定义价格
- 点击设置自定义价格
- 输入默认价格
- 基于您输入的默认价格,所有国家的价格将按照当时的汇率计算。
- 您也可以提供特定国家的自定义价格。
- 点击保存。
- 您产品的基础价格来自所选的价格模板或设置的自定义价格。
- 您可以点击查看本地价格将列出的基础价格转换为您的货币。
- 如有需要,您可以编辑价格模板 / 自定义价格。
- 点击保存。
产品添加后,将显示在应用内产品部分:
- 您还可以通过点击上图中的“导出CSV”(Export CSV)导出添加的应用内产品。
重要信息
- 您可以为显示标题和描述字段提供翻译。
- 每个区域/语言应以换行符而不是空格或逗号分隔。
- 仅为添加的区域显示翻译。所有其他区域将提供英文(默认)内容。
- 如果您没有提供任何英文内容,我们将考虑用第一个添加的区域作为默认设置。
- 要添加翻译,请使用 此处提供的标准区域标签和格式。
- IAP翻译格式示例
- Display Title –
en-US: Sample Display Title
ja-JP: 表示タイトル例
ko-KR: 샘플 표시 제목
- Description –
en-US: Sample Description text
ja-JP: サンプル説明テキスト
ko-KR: 샘플 설명 텍스트
修改应用内产品
要修改已添加的应用内产品:
- 在“应用内产品”(In-app Products)部分:
- 点击要修改的应用内产品前的“查看详情”(View Details)。
- 进行所需更改后,点击“保存”(Save)。
删除产品
要删除已添加的应用内产品:
- 在“应用内产品”(In-app Products)部分:
- 点击要删除的应用内产品前的“查看详情”(View Details)。
- 点击底部角落的“删除”(Delete)。
- 在确认窗口中点击“删除”(Delete)。
- 应用内产品将被移除。
重要信息
-
- 删除应用内产品后,您不能使用相同的产品ID(Product ID)去添加另一个产品。
订阅
本章节描述了添加和修改您希望在应用/游戏中列出的订阅的步骤,以供用户购买。
了解订阅
- 要了解更多关于订阅的信息并了解相关术语,请点击此处。
要添加订阅:
- 登录 nowStudio。
- 点击“所有应用”(All Apps)。
- 点击要为其创建订阅的应用前的“查看详情”(View Details)。
- 点击顶部导航栏上的“支付”(Payments)。
- 点击左侧边栏中的“订阅”(Subscriptions)。
- 点击右上角的“创建订阅”(Create Subscription)。
创建订阅
使用此选项,您可以将订阅添加到nowStudio。
注意:nowStudio允许您为订阅添加翻译,以便您为全球用户提供本地化体验。如果用户的语言偏好与您添加的翻译语言相匹配,他们将看到翻译版本。
为此,请向我们提供:
- 产品ID
- 产品 ID 只能包含数字、大写和小写字母、下划线和句点。
- 订阅详情
- 名称
- 为您的订阅提供相应的简短名称。用户将在电子邮件中看到这个信息。
- 此字段支持由换行分隔的多个值(翻译)。更多信息请参照这里。
- 描述
- 对您的订阅的可选描述。
- 此字段支持由换行分隔的多个值(翻译)。更多信息请参照这里。
- 权益
- 点击添加权益(Add Benefit),包括最多4个权益,以帮助用户了解他们在订阅后可以获得什么。
- 此字段支持由换行分隔的多个值(翻译)。更多信息请参照这里。
- 计费周期
- 从下拉列表中选择您的订阅的计费周期。
- 受支持的计费周期包括:
- 每月(Monthly ,默认选择)
- 每周(Weekly)
- 每4周(Every 4 weeks)
- 每2个月(Every 2 months)
- 每3个月(Every 3 months)
- 每4个月(Every 4 months)
- 每6个月(Every 6 months)
- 每8个月(Every 8 months)
- 每年(Yearly)
- 选择“价格”(Pricing)
- 使用下拉菜单,可以:
- 选择先前创建的价格模版,或
- 创建一个新的价格模板,如果您还没有创建过。
- 在创建模板后,您可以选择它。
- 点击“编辑模板”(Edit Template),以编辑选定的价格模板。
- 价格模板可以在您添加的多个应用程序中重复使用。
- 要管理和配置您的价格模板,请 遵循此链接。
- 您的产品的基准价格(Base Price)将从选定的价格模板中提取。
- 您可以点击“查看本地价格”(View Local Price)来查看或将列出的基准价格转换为您的货币。
- 点击“保存”(Save)
添加订阅后,它将显示在订阅区:
重要信息
- 您可以为“显示标题”(Display Title)、“描述”(Description)和“权益”(Benefits)字段提供翻译。
- 每个区域/语言都应该用一个换行分隔,而不是空格或逗号。
- 这些翻译将只为添加的区域显示。所有其他地区都将提供英文的“默认”(Default)内容。
- 如果您没有提供任何英文内容,我们将考虑用第一个添加的区域作为默认设置。
- 若要添加翻译,请使用 这里提供的标准区域标签和格式。
- 翻译格式示例
- Display Title –
en-US: Sample Display Title
ja-JP: 表示タイトル例
ko-KR: 샘플 표시 제목
- Description –
en-US: Sample Description text
ja-JP: サンプル説明テキスト
ko-KR: 샘플 설명 텍스트
- Benefits –
en-US: Sample Benefit
ja-JP: サンプルの利点
ko-KR: 샘플 혜택
修改订阅
要修改订阅,请执行以下操作:
- 在“订阅”部分中:
- 在要修改的订阅前点击“查看详细信息”(View Details)。
- 完成所需的更改后,请点击“更新”(Update)。
删除订阅
要删除订阅,请执行以下操作:
- 在“订阅”部分中
- 在要删除的订阅前点击“查看详细信息”(View Details)。
- 点击底部角落的“删除”(Delete)。
- 在确认窗口中,点击“删除”(Delete)。
- 该订阅将被移除。
重要信息
- 删除订阅后,您不能添加具有相同“产品ID”(Product ID)的其他订阅。
支付设置
在此部分,您可以为订阅配置以下支付设置。
您可以配置:
- 回调(Callback) URL
为我们提供一个回调URL,我们将使用它在交易发生后发送请求数据。
- API Key
API key与在交易后发送给您的请求数据一起传递。您可以验证它,以确保API调用的真实性。(请在此处进行重新生成/查看)
订阅状态回调API
(由开发人员提供)
本章节说明了 API 规范,以便您为我们提供 SubscriptionStatusCallback
API,用于发送订阅状态的更新。
重要
- 这是一个由开发人员提供的API。我们将使用此API发送订阅状态更新(定义于此处)。
以下是相关的工作流:
- nowStudio将使用这个API发送请求数据到您的游戏后端。
- 您的游戏后端可以使用我们提供的API密钥(Webhook API Key)对请求进行认证。
- 您可以根据订阅的当前状态(定义于此处)向用户分配购买的权利。
- 在我们向您提供的回调URL发送请求数据之后,我们将等待来自您API的响应。
- 如果我们没有收到状态代码为200且成功为真的响应,我们将在一段时间内继续重试。
请求方法(Request Method)
请求头(Request Header)
Authorization: "<API-Key Here>"
Content-type: application/json
注意:您可以 使用此章节 来查看/重新生成API Key。
请求主体(Request Body)
请求主体中将包含以下参数。
参数 |
类型 |
值 |
描述 |
notificationType |
string |
定义于此处 |
基于订阅状态更新的专用事件 |
data |
object |
|
|
数据对象参数(Data Object Params)
以下参数与数据对象关联。
参数 |
类型 |
取值示例 |
描述 |
orderId |
string |
1-202402110116343 |
购买订单关联的订单ID。 |
packageName |
string |
gg.now.sample.app |
您应用程序的包名。 |
productId |
string |
SampleProduct |
用户购买产品关联的产品ID。 |
eventTime |
long |
1707965194000 |
订单关联的纪元时间戳(epoch timestamp)。 |
amount |
float |
24.99 |
订单关联的金额。 |
isTestOrder |
boolean |
true |
True/False |
currency |
string |
USD |
应用内购订单关联的货币。 |
paymentId |
string |
1234 |
您应用程序的唯一标识符 |
developerPayload |
string |
{UID: abc} |
开发者指定的字符串,包含有关订单的补充信息。 |
预期响应
以下是与 SubscriptionStatusCallback
API关联的预期响应示例。
{
"success": true,
"reason": "reason_for_failure". // Optional Param. Only required if success is false.
}
notificationType 事件
以下事件以 notificationType
的形式发送。
事件 |
描述 |
WEBSHOP_ITEM_PURCHASED |
购买网店(Webshop)商品时发送。 |
SUBSCRIPTION_PURCHASED |
购买订阅时发送。 |
SUBSCRIPTION_RENEWED |
续订订阅时发送。 |
SUBSCRIPTION_CANCELLED |
取消订阅时发送。 |
SUBSCRIPTION_EXPIRED |
订阅过期时发送。 |
测试Webhook
此功能允许您方便地测试 SubscriptionStatusCallback
API,我们使用该API将订阅产品的状态更新发送到您的后端服务器。
重要
- Webhook测试只适用于来自测试用户的订阅订单。
- 请确保:
要测试Webhook:
- 在所有应用程序(All Apps)下。
- 点击now.gg支付的应用程序名称前的查看详情(View Details)。
- 点击顶部导航栏上的支付(Payments)。
- 点击左侧导航栏上的测试Webhook(Testing Webhook)。
- 输入从测试购买订单中生成的订单ID(order ID)。
- 选择通知类型:
SUBSCRIPTION_RENEWED
– 以续订订阅。
SUBSCRIPTION_EXPIRED
– 以讲订阅标记为过期。
- 点击提交(Submit)。
- 此操作将通知应用程序后端,并发送开发者为订阅购买提供的指定字符串(payload)。
- 成功的回调将用(’Webhook called successfully’)吐司消息来确认。
- 错误将通过一个带有错误信息的吐司消息进行通知。
Note:
SUBSCRIPTION_RENEWED
webhook将续订指定订单ID的订阅。但是,续订的订阅将生成具有唯一订单ID的新订单。
SUBSCRIPTION_RENEWED
webhook 仅适用于已激活(active)的订阅,不能用于续订已过期或已取消状态的订阅。
- 如果订阅被取消或已过期,您可以从游戏内部重新购买它。
内部测试人员
内部测试允许您测试支付模块与您应用程序的集成。您可以添加您应用的测试人员,以使用提供的now.gg货币进行应用内购买,并测试完整的购买流程。
要添加测试员,请执行以下操作:
- 在所有应用程序(All Apps)下。
- 点击详细信息(View Details),查看您希望测试集成的应用程序的详细信息。
- 点击左侧边栏的内部测试人员(Internal Testers)。
- 点击添加测试人员(Add Tester)。
- 输入与 now.gg 账户关联的电子邮件地址以用于测试,如下所示:
- 点击添加(Add)。
屏幕上会显示确认信息“已成功添加测试员”(‘A tester has been added successfully’)。
重要信息
- 您添加了一个测试员后,您现在可以 继续测试now.gg支付集成。
- 对于 3.0 之前的 SDK 版本,您也可以使用用户的
IN_GAME_ID
来测试支付。
要删除测试员,请执行以下操作:
- 在所有应用程序(All Apps)。
- 点击详细信息(View Details),查看您希望测试集成的应用程序的详细信息。
- 点击左侧边栏上的测试员(Testers)。
- 将显示测试人员列表,如下所示:
- 将弹出一个确认窗口,如下图所示:
- 点击删除(Delete)。
屏幕上显示确认信息“测试员已成功删除”(‘A tester has been deleted successfully’)。
证书
now.gg云(now.gg Cloud)提供各种API和服务,您可以将它们与您的应用程序集成。在开始之前,请确保您有必要的证书。