Payments

Unlock the convenience of seamless payments for in-app purchases powered by now.gg Payments.

Using the Payments dashboard, you can configure the following options:


Integration

To process payments within your app, you can choose from one of the following:

Payment with SDK

now.gg Payments module offers quick integration for your Native Android and Unity apps, ensuring a seamless and user-friendly payment experience while reducing the complexities associated with payment processing.

Benefits:
  • Seamless integration through streamlined setup and minimal development effort.
  • Comprehensive support for both Native Android and Unity apps for a seamless experience.
  • Global reach with support for various payment methods across multiple regions.
  • Supports consumable products and recurring subscriptions with ease.
To get started:


No Code Payment

No Code Payment offers a streamlined solution to enable in-app purchases without any SDK integration or APK modifications, allowing developers to quickly enable payments with minimal effort.

Benefits:
  • Effortless setup without integrating SDKs or modifying your app’s APK.
  • Seamless transactions for a smooth, user-friendly payment experience.
  • Enable payments without writing any additional code.
  • Reduces development and testing time for in-app purchase features.
  • Ensures safe and reliable transactions for users.
To get started:
  • On the Payments dashboard:
    • Select ‘No Code Payment’
    • Provide Prerequisite Information
      • Provide answers to questions to ascertain the most suitable integration scenario.
    • Perform payment configurations.

Prerequisite Information

Important

  • Support for Subscriptions with ‘No Code Payment’ is coming soon.

The following section features some questions to ascertain the precise integration scenario for ‘No Code Payment’.

  • Have you encrypted your APK with services like SafetyNet? (Yes /No)
    • Yes – If you have encrypted your APK using services such as SafetyNet, then you must integrate now.gg Payment SDK.
    • No – Continue to the next question.
  • How do you verify Payments in your app? (Select from drop-down)

Payment Configurations

Use the following information based on your selection in the Prerequisite Information section:

Server side Configurations

If you select ‘Server side’ within the Prerequisite Information section, you will have the following configuration options.

Important Information

  • Make sure to configure server-side IAP verification for ‘No Code Payment’ according to the provided guide.

Select APK and In-app Products

The following steps are common for both the ‘Server side‘ and ‘Don’t Verify‘ options.

1. APK Selection

Choose the APK you want to use with ‘No Code Payment”.
To do this:

  • Click on Choose Apk.
    You will be prompted to add an APK using three methods:

    • Upload APK
      You can upload an APK – Read more here.
    • Upload Zip (APK+Assets)
      You can upload an APK Zip – Read more here.
    • App Library
      You can select an already uploaded app from the App Library – Read more here.
2. Products Availability

Add the in-app products you want to use with ‘No Code Payment’.

  • Click on View/Add Products from Payments > In-App Products
  • Select the products you want to list to sell.
  • Click on Submit.
    We will review your configurations and enable ‘No Code Payment’ for your app.
3. Deploy ‘No Code Payment’ build

After we enable ‘No Code Payment’ for your app build, it will be saved in the App Library Explorer, with a ‘No Code Payment’ flag, as shown below:

  • Select this version of your app from App Library to either:
  • While creating the release, choose ‘From App Library’ option and select the build with ‘No Code Payment’ flag.
    • You can access any build-specific information you may have added while uploading by clicking on the (i) in front of the respective build(s).

Important Information

  • To enable ‘No Code Payment’ for another app build, go to the Payment Page > Click on Edit in the bottom-right corner.


Third-party Payment

You can use any third-party payment option, if it is already integrated with your app, to process in-app payments.

To add your third-party payment option:

  • Within the Payments tab, select Third-party Payments.
    • Enter the name of your payment provider.
  • Click on Save.

Important information

  • While using the Third-party payment option, all purchase orders and related analytics data will not be available in nowStudio.


In-app Products

This section describes the steps to add and modify the in-app products you wish to list within your app/game for the users to purchase.

To add In-app products:
  • Login to nowStudio.
  • Click on All Apps
    • Click on View Details against your app name.
  • Click on Payments on the top navigation.
  • Click on In-App Products section on the left sidebar.
  • Select either:
    • Bulk Import
    • Add Product

Bulk Import

Using this option, you can bulk import your in-app products to nowStudio.

To do this:

  • Click on Bulk Import button on the top-right corner.
  • Click on the + icon, as shown below:
  • Select the .csv file containing your in-app products
    (You should prepare the CSV file based on the provided format. Download the CSV format by clicking on the ‘Download CSV Format’ link.)
  • Enable base currency (Optional)
    • If you enable the base currency option, we will update any products without a price listed for specific regions in the CSV.
      • The new price for that region will be based on the selected base price and the latest currency exchange rate.
  • Select a Base Currency from the drop-down list.
  • Click on Import.

Supported CSV Encodings

Language/Script Encodings Summary
Universal ASCII, UTF-8, UTF-16 (LE, BE), UTF-32 (LE, BE, LE with BOM, BE with BOM) BOM = Byte Order Mark.
Chinese Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified) Used for Simplified and Traditional Chinese; ISO-2022-CN supports both.
Japanese EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP SHIFT_JIS and CP932 commonly used in Windows environments.
Korean EUC-KR, ISO-2022-KR, Johab EUC-KR widely supported; Johab less common but still useful in some applications.
Cyrillic (including Bulgarian) KO18-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, Windows-1251 ISO-8859-5 and Windows-1251 are also useful for Bulgarian language support.
Western European ISO-8859-1, Windows-1252, MacRoman Commonly used for Western European languages.
Greek ISO-8859-7, Windows-1253 Commonly used for the Greek language.
Hebrew ISO-8859-8, Windows-1255 (Visual and Logical) Visual/Logical modes supported for compatibility with different text rendering systems.
Thai TIS-620 Encoding standard for Thai text.

Important Information

  • Ensure to set a base price for all products in your target regions.
  • If your game is published on PlayStore and has existing in-app products, you can export them as CSV from the Google Play Console.
  • Within the provided CSV format, just add product images as an additional column and use the bulk import feature to add your in-app products to nowStudio.

Add Product

Using this option, you can add an in-app product to nowStudio.

Note: nowStudio enables you to add translations for in-app products to provide a localized experience for your users worldwide. If a user’s language preference matches the translation languages you’ve added, they’ll see the translated version for your IAP products.

To do this, provide us with:

  • Product ID
  • Display Title
  • Description
  • Icon – Click on Pick file
    • Dimensions – 1024 x 1024px
    • Image format – .JPG, .JPEG, .PNG
    • Maximum size – 10 Mb
  • Select Pricing
    • Use the drop-down menu to:
      • Select a previously created price template, or
      • Create a New Price Template If you haven’t created one.
        • After creating the template, you can select it.
        • Click on Edit Template, to edit the selected price template.
    • Base Price for your product is fetched from the selected price template.
      • You can click on View Local Price to convert the listed base price into your currency.
  • Click on Save.
    Once the product is added, it will be displayed within the in-app products section:
  • You can also export the added in-app products by clicking on Export CSV , as shown above.

Important Information

  • You can provide translations for the Display Title and Description fields.
  • Each locale/language should be separated by a new line instead of spaces or commas.
  • The translations will be displayed only for the added locales. All other locales will be served with English (Default) content.
    • If you haven’t provided any English content, we will consider the first added locale as default.
  • To add translations, use standard locale tags and format provided here.
  • IAP Translation format example
    • Display Title –
      en-US: Sample Display Title
      ja-JP: 表示タイトル例
      ko-KR: 샘플 표시 제목
    • Description –
      en-US: Sample Description text
      ja-JP: サンプル説明テキスト
      ko-KR: 샘플 설명 텍스트

Modify in-app product

To modify an added in-app product:

  • Within the In-app Products section:
    • Click on View Details in front of the in-app product you wish to modify.
  • Once you have made the required changes, click on Save.

Delete Product

To delete an added in-app product:

  • Within the In-app Products section:
    • Click on View Details in front of the in-app product you wish to delete.
    • Click on Delete in the bottom corner.
    • On the confirmation window, click Delete.
  • The in-app product will be removed.

Important Information

    • Once you delete an in-app product, you cannot add another product with the same Product ID.
  • Price templates can be reused across multiple apps that you add.

Subscriptions

This section describes the steps to add and modify the subscriptions you wish to list within your app/game for the users to purchase.

Understanding Subscriptions

  • To know more about Subscriptions and understand the associated terms, please click here.
To add subscriptions:
  • Login to nowStudio.
  • Click on All Apps
    • Click on View Details against the app for which you want to create a subscription.
  • Click on Payments on the top navigation.
  • Click on Subscriptions section on the left sidebar.
  • Click on Create Subscription in the top-right corner.

Create Subscription

Using this option, you can add subscriptions to nowStudio.

Note: nowStudio enables you to add translations for subscriptions to provide a localized experience for your users worldwide. If a user’s language preference matches the translation languages you’ve added, they’ll see the translated version.

To do this, provide us with:

  • Product ID
    • Product ID can only include numbers, lowercase and uppercase letters, underscores, and periods.
  • Subscription Details
    • Name
      • Short name for your subscription. Users will see this in emails.
      • This field supports multiple values (translations) separated by a new line. Refer here for more information.
    • Description
      • An optional description for your subscription.
      • This field supports multiple values (translations) separated by a new line. Refer here for more information.
    • Benefits
      • Click on Add Benefit and include up to 4 benefits to help users understand what they get when they subscribe.
      • This field supports multiple values (translations) separated by a new line. Refer here for more information.
  • Billing Period
    • Select the billing period for your subscription from the drop-down list.
    • The supported billing period include:
      • Monthly (Default selection)
      • Weekly
      • Every 4 weeks
      • Every 2 months
      • Every 3 months
      • Every 4 months
      • Every 6 months
      • Every 8 months
      • Yearly
  • Select Pricing
    • Use the drop-down menu to:
      • Select a previously created price template, or
      • Create a New Price Template If you haven’t created one.
        • After creating the template, you can select it.
        • Click on Edit Template, to edit the selected price template.
          • Price templates can be reused across multiple apps that you add.
          • To manage and configure your price templates, please follow this link.
    • Base Price for your product is fetched from the selected price template.
      • You can click on View Local Price to view or convert the listed base price into your currency.
  • Click on Save.
    Once the Subscription is added, it will be displayed within the Subscriptions section:

Important Information

  • You can provide translations for the Display Title, Description and Benefits fields.
  • Each locale/language should be separated by a new line instead of spaces or commas.
  • The translations will be displayed only for the added locales. All other locales will be served with English (Default) content.
    • If you haven’t provided any English content, we will consider the first added locale as default.
  • To add translations, use standard locale tags and format provided here.
  • Translation format example
    • 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: 샘플 혜택

Modify Subscriptions

To modify a subscription:

  • Within the Subscriptions section:
    • Click on View Details in front of the subscription you wish to modify.
  • Once you have made the required changes, click on Update.

Delete Subscriptions

To delete a subscription:

  • Within the Subscriptions section:
    • Click on View Details in front of the subscription you wish to delete.
    • Click on Delete in the bottom corner.
    • On the confirmation window, click Delete.
  • The subscription will be removed.

Important Information

  • Once you delete a subscription, you cannot add another subscription with the same Product ID.

Payment Settings

Using this section, you can configure the following payment settings for Subscriptions.

You can configure:

  • Callback URL
    Provide us with a callback URL that we will use to send the request data after a transaction.
  • API Key
    The API key is passed along with the request data sent to you after a transaction. You can verify it to ensure the authenticity of the API call. (Regenerate / View here)

Important Information



Subscription Status Callback API

(Developer Provided)

This section illustrates the API specs for you to provide us with a SubscriptionStatusCallback API to send subscription status updates.

Important

  • This is a developer-provided API. We will use this API to send the subscription status updates defined here.

The following is the associated workflow:

  • nowStudio will use this API to send the request data to your game backend.
  • Your game backend can authenticate the request using the API key provided by us (Webhook API Key).
  • You can assign the purchase entitlement to the user based on the subscription’s current status. (Defined here).
  • After we send the request data using the callback URL you have provided, we will wait for a response from your API.
    • If we do not get a response with status code 200 with success as true, we will keep retrying for some time.
Request Method
 POST
Request Header
Authorization: "<API-Key Here>"
 Content-type: application/json

Note: You can view/regenerate the API Key using this section.

Request Body

The following parameters will be included in the request body.

Params Type Value Description
notificationType string Defined here Specific events sent based on the subscription status update..
data object
Data Object Params

The following parameters are associated with the data object.

Params Type Sample Values Description
orderId string 1-202402110116343 Order ID associated with the purchase order.
packageName string gg.now.sample.app Package name of your app.
productId string SampleProduct Product ID associated with the product purchased by the user.
eventTime long 1707965194000 The epoch timestamp associated with the order.
amount float 24.99 Amount associated with the order.
isTestOrder boolean true True/False
currency string USD Currency associated with the in-app purchase order.
paymentId string 1234 Unique Identifier for your app.
developerPayload string {UID: abc} A developer-specified string that contains supplemental information about an order.
Expected Response

The following is the sample expected response associated with the SubscriptionStatusCallback API.

{
     "success": true, 
     "reason": "reason_for_failure". // Optional Param. Only required if success is false. 
 }

notificationType Events

The following events are sent in notificationType.

Event Description
WEBSHOP_ITEM_PURCHASED Sent when a Webshop item is purchased.
SUBSCRIPTION_PURCHASED Sent when a Subscription is purchased.
SUBSCRIPTION_RENEWED Sent when a Subscription is renewed.
SUBSCRIPTION_CANCELLED Sent when a Subscription is cancelled.
SUBSCRIPTION_EXPIRED Sent when a Subscription has expired.


Testing Webhook

This feature allows you to conveniently test the SubscriptionStatusCallback API that we use to send status updates for subscription products to your backend server.

Important

To test the Webhook:

  • Under All Apps.
    • Click on View Details in front of the app name with now.gg Payments.
    • Click on Payments at the top navigation bar.
    • Click on Testing Webhook on the left navigation.
      • Enter the order ID that was generated from your test purchase order.
    • Select the notification type:
      • SUBSCRIPTION_RENEWED – To renew the subscription.
      • SUBSCRIPTION_EXPIRED – To mark the subscription as expired.
  • Click on Submit.
    • This action will notify the app backend and send the developer payload provided with the subscription purchase.
    • A successful callback will be confirmed with a toast message, ‘Webhook called successfully’.
    • An error will be notified with a toast message with error information.

Note:

  • The SUBSCRIPTION_RENEWED webhook will renew the subscription for the specified order ID. However, the renewed subscription will generate a new order with a unique order ID.
  • The SUBSCRIPTION_RENEWED webhook only works for active subscriptions and cannot be used to renew subscriptions with an expired or cancelled state.
    • If the subscription is cancelled or expired, you can repurchase it from inside the game.

Internal Testers

Internal testing allows you to test the payments module integration with your app. You can add your app testers to perform in-app purchases using the provided now.gg currency and test the complete purchase flow.

To add a tester:

  • Under All Apps.
  • Click on View Details against the app you wish to test integration with.
    • Click on Internal Testers on the left sidebar.
    • Click on Add Tester.
      • Enter the email address associated with a now.gg account you wish to use for testing.
    • Click on Add.
      An on-screen confirmation that ‘A tester has been added successfully’ will be displayed.

Important Information

To delete a tester:

  • Under All Apps.
  • Click on View Details against the app you wish to test integration with.
    • Click on Testers on the left sidebar.
    • A list of testers will be displayed, as shown below:
    • A confirmation pop-up will open, as shown below:
    • Click on Delete.
      An on-screen confirmation that ‘A tester has been deleted successfully’ will be displayed.

Credentials

now.gg Cloud offers various APIs and services that you can integrate with your app. Before you start, please ensure you have the necessary credentials.

×

Table of Contents

Payments

Table of Contents

Document Rev. 1.0

Text copied to clipboard
Link copied to clipbord
Questions? Please reach out to us at dev-support@now.gg