Setting up payments
Introduction
The payment service included in AccelByte Gaming Services (AGS) allows transactions to be performed with both real and virtual currency, and can integrate with Adyen, Xsolla, Stripe, PayPal, AliPay, WxPay, and wallet services. The payment service provides a retry mechanism that prevents notifications from failing to appear during the payment process. This retry mechanism will resend failed notifications until the client acknowledges their receipt, or the maximum number of retries has been reached.
The Payment service feature is not yet supported in AGS Shared Cloud.
AGS's Payment service boasts several features to support the payment process, including:
- Real and virtual currency. One payment service can cover both real currency purchases of games or add-ons, or in-game purchases of items or boosters using AccelByte coins.
- Support for multiple payment providers. Our payment service can integrate with Adyen, Xsolla, and Stripe payment aggregators, and can accept payments from PayPal, Visa, Mastercard, AliPay, and WxPay.
- Payment account management. Our Admin Portal allows you to configure your payment aggregators and manage what types of payments you accept.
- Customized payment station. You can change the look of your payment station to highlight your brand.
- Email notifications. Players receive email verification of successful transactions.
Goals
- Explain in detail on how to Setup payment in the Admin Portal for Adyen, Xsolla, Stripe, and Checkout.
- Explain in detail on how to Manage payment methods.
Prerequisites
- Access to AccelByte Admin Portal
- Appropriate Namespaces are created
Configure payment methods
Adyen
In your publisher namespace, go to Admin Task > Payment Configurations.
Click on the New Configuration button.
Fill in the required fields.
- Select the Namespace for the payment configuration. You can select all namespaces if desired.
- Select the Region for the payment configuration. You can select all regions if desired.
- Select Adyen from the Payment Aggregator dropdown list.
- You can leave the Payment Methods field empty.
- If you want to use TaxJar, enable the TaxJar Integration option. The Production and Sandbox API Token fields will fill automatically based on your global TaxJar configuration if one exists. Change the Production API Token value to the token from the TaxJar account you want to use for this namespace. You can choose to use the global Sandbox API Token, or use your own.
Once completed, click the Submit button and you will be redirected to the Payment Configuration page.
In your newly created payment configurations, go to the Payment Aggregator section and click the Configure Now button.
Fill in the required fields.
- Input the API Key from Adyen.
- Input the Adyen Merchant Account.
- Input the Notification Hmac Key.
- Input the Notification Username and Password.
- Input the Return URL.
- Input the Live Endpoint URL Prefix
- Choose if you want to enable Authorize as Capture
Once completed, click Add to save your configuration.
Set up the Adyen Drop-In SDK
In response to Adyen's decision to phase out Checkout Web SDK, AccelByte has started migrating to Drop-in. If you currently use Checkout Web SDK, you will need to follow the below steps to migrate.
In the Adyen Payment Configuration Details page, scroll down to Payment Aggregator (ADYEN) and click the Drop-In Setting tab. Adjust these settings according to your preferences. See Adyen's optional configuration guide for a full list of settings with descriptions.
Xsolla
In your publisher namespace, go to Admin Task > Payment Configurations.
Click on the New Configuration button.
Fill in the required information.
- Select the Namespace for the payment configuration. You can select all namespaces if desired.
- Select the Region for the payment configuration. You can select all regions if desired.
- Select Xsolla from the Payment Aggregator dropdown list.
- You can leave the Payment Methods field empty.
Click Submit to continue. You will be redirected to the Payment Configuration page.
In the Payment Aggregator section, under the Xsolla tab, fill in the required information.
- Input your Xsolla Merchant ID.
- Input your Project ID / Project Number from Xsolla.
- Input your Project Secret Key from Xsolla.
- Input the API Key from Xsolla.
- Input the Completion URL with the appropriate format, as seen below:
- Dev environment:
https://dev.example.accelbyte.io/paymentCallback
- Production environment:
https://example.com/paymentCallback
- Dev environment:
Click the Test button and make sure you get Xsolla configured correctly notification.
Stripe
In your publisher namespace, go to Admin Task > Payment Configurations.
Click on the New Configuration button.
Fill in the required fields.
Select the Namespace for the payment configuration. You can select all namespaces if desired.
Select the Region for the payment configuration. You can select all regions if desired.
Select Stripe from the Payment Aggregator dropdown list.
You can leave the Payment Methods field empty.
If you want to use TaxJar, enable the TaxJar Integration option. The Production and Sandbox API Token fields will fill automatically based on your global TaxJar configuration if one exists. Change the Production API Token value to the token from the TaxJar account you want to use for this namespace. You can choose to use the global Sandbox API Token, or use your own.
When you're done, click the Submit button and you will be redirected to the Payment Configuration page.
In the Payment Aggregator section, click Configure Now.
Fill in the required fields.
Input the Publishable Key field with the key you received from the Stripe dashboard.
Input the Secret Key field with the key you received from the Stripe dashboard.
Input the Webhook Secret field with the secret you received from the Stripe dashboard.
Click the Test button and make sure you receive a notification that Stripe has been configured correctly.
Checkout
In your publisher namespace, go to Admin Task > Payment Configurations.
Click on the New Configuration button.
Fill in the required fields.
- Select the Namespace for the payment configuration. You can select all namespaces if desired.
- Select the Region for the payment configuration. You can select all regions if desired.
- Select Checkout from the Payment Aggregator dropdown list.
- You can leave the Payment Methods field empty.
- If you want to use TaxJar, enable the TaxJar Integration option. The Production and Sandbox API Token fields will fill automatically based on your global TaxJar configuration if one exists. Change the Production API Token value to the token from the TaxJar account you want to use for this namespace. You can choose to use the global Sandbox API Token, or use your own.
In the Payment Aggregator section, click the Configure Now button.
A configuration form appears. Fill in the required information.
Input the Public Key from checkout.com.
Input the Secret Key from checkout.com.
After entering the payment configuration, you'll be directed to the Payment Configuration Details. You can click the Test button to make sure that your payment aggregator configuration is working.
Neon Pay
Support for the Neon Pay payment configuration is still in beta phase.
In your publisher namespace, go to Admin Task > Payment Configurations.
On the Payment Configurations page, click on the + New Configuration button.
On the Add New Configuration form, fill in the required information:
- Select the game namespace in which the payment configuration will be available. The All Namespaces option is also available if you want to apply the payment configuration to all your game namespaces.
- Select the applicable region for the payment configuration. The All Regions option is also available if you want to apply the payment method to all regions.
- From the Payment Aggregator dropdown, select NEONPAY.
- In the Payment Methods field, select the applicable payment method. This can be left blank.
Click Submit to continue. The details page of the Neon Pay payment method appears.
In the Payment Aggregator section, under the Neonpay Setting tab, you have the option to configure your setting for your production environment and for your testing (sandbox) environment. Click on the Configure now button for the environment you want to set up. On the pop-up, add your API key and your Webhook Secret Key from Neon Pay. Then, click Add.
Click on the Test button to test your Neon Pay setting. AGS displays a notification at the top-right section of the page that will show whether your configuration is correct or not.
Manage your payment methods
After you've configured your payment aggregator, you can also configure the payment methods you support.
In the Admin Portal, go to Payment Configurations Details and scroll down to the Payment Methods panel.
In the Payment Methods section, choose your payment method and input the required information.
For AliPay:
- Input the App ID from the AliPay platform.
- Input the Private Key.
- Input the Public Key.
- Input the Return URL.
For AliPay Sandbox:
- Input the App ID from the AliPay Sandbox platform.
- Input the Private Key.
- Input the Return URL.
- Input the Public Key.
For WxPay:
- Input the App ID from the WxPay platform.
- Input the Key.
- Input the MCHID.
- Input the Return URL.
- Upload the Certificate AWS Path by clicking the Upload button and searching for the file on your computer.
- Input the Return URL.
For PayPal:
- Input the Client ID from the PayPal platform.
- Input the Client Secret.
- Input the Webhook ID.
- Input the Return URL.
For PayPal Sandbox:
- Input the Client ID from the PayPal platform.
- Input the Client Secret.
- Input the Webhook ID.
- Input the Return URL.
Once completed, click the Test button to test the payment configuration.
Payment metadata history
You can view detailed payment metadata history in the Admin Portal.
In the Admin Portal, go to the Commerce > Sales > Payment Metadata.
Here you can see a list of all the payment metadata history in your game namespace. To see the details of a specific payment, click View in the Action column of your selected metadata.
The Metadata List will appear. Here you can see the selected metadata's detailed information.
TaxJar integration
In some countries and regions, sales tax needs to be collected during the sale of digital products. Tax law can differ depending on the state, city, or even the district that the player making the purchase lives in. To comply with all of these different regulations, tax handling services can be used. AGS supports integration with TaxJar, which can be used to automatically calculate and apply sales tax to online purchases.
Integration with TaxJar allows you to configure how sales tax is applied to online purchases. There are two types of configurations that you can create in the Admin Portal:
- Global Configurations apply to all purchases across all namespaces and payment configurations.
- Specific Configurations for TaxJar apply only to a specific payment configuration or a specific game namespace.
This can be used if the publisher and developer of your game have separate TaxJar accounts, or are located in different regions. This way, even if the publisher's TaxJar account is used for the global configuration, online sales made in the game can still use the developer's TaxJar account for sales tax calculation.
For now, TaxJar can only be enabled for online stores published in the United States (US). Follow the tutorials below to create a global or specific TaxJar integration.
Create a global tax configuration
On the Payment Configuration page of the Admin Portal, switch to the TaxJar Integration tab.
On the TaxJar Integration tab, toggle the integration to enable.
Fill in the TaxJar Configuration form.
Input the Production API Token from TaxJar.
Input the Sandbox API Token from TaxJar.
When you're done, click Submit.
Next, add the appropriate TaxJar product codes to each item type in the TaxJar Product Codes Mapping panel by clicking the pencil icon next to each item type and typing the product code. For digital goods, the product tax code is 31000. You can also browse a list of TaxJar codes in the TaxJar documentation.
Create a specific tax configuration
On the Payment Configuration page of the Admin Portal, click the New Configuration button.
Fill in the Add New Configuration form that appears with the required information:
- Select the Single Namespace option and select the game namespace this configuration will apply to from the dropdown menu.
- Select the Region the payment configuration will apply to. For now, TaxJar can only be used for online purchases made in the US.
- Select the Payment Aggregator you're using from the dropdown menu.
- Select the Payment Methods you're using. This field is optional.
- Enable the TaxJar Integration option. The Production and Sandbox API Token fields will fill automatically based on your global TaxJar configuration if one exists. Change the Production API Token value to the token from the TaxJar account you want to use for this namespace. You can choose to use the global Sandbox API Token or use your own.
When you're done, click Submit.
The specific configuration has been added to the Payment Configuration Details page.
After setting up either a global or specific TaxJar configuration, your TaxJar account will be used to calculate and apply sales tax to online purchases made in your game and publishing platform.