Payments
Overview
AccelByte Cloud's Payment service allows transactions to be performed with both real and virtual currency, and integrates 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.
AccelByte Cloud'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 manage what types of payments you accept and configure your payment aggregators.
- Customized payment station You can change the look of your payment station to highlight your brand.
- Email notifications for paid orders Players receive email verification of successful transactions.
Permissions
Permissions are used to grant access to specific resources within our services. Make sure your account has the following permissions before you attempt to manage catalog in the Admin Portal. For a full list of permissions that impact catalog management, see the Platform/Commerce tab of the Permissions Reference.
Usage | Resource | Action |
---|---|---|
Setting Up a Payment Configuration | ADMIN:PAYMENT:CONFIG | Create |
Get Payment Configuration | ADMIN:PAYMENT:CONFIG | Read |
Permissions work slightly differently depending on whether they are assigned to IAM Clients or Roles assigned to users. For more information, read the Authentication and Authorization documentation.
Set Up Adyen as a Payment Aggregator in Admin Portal
In the Admin Portal, go to the top-right menu menu, click Platform Configurations, and select Payment Configurations.
Click New Configuration.
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 be automatically filled in 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 Drop-In SDK in Adyen
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) select the Drop-In Setting tab. Adjust these settings according to your preferences. See Adyen's Optional Configuration documentation for a full list and definition of each setting.
Set Up Xsolla as a Payment Configuration in the Admin Portal
In the Admin Portal, go to the Payment Configurations menu under the Platform Configurations dropdown on the top-right header.
Add a new configuration by clicking 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.
- If you want to use TaxJar, enable the TaxJar Integration option. The Production and Sandbox API Token fields will be automatically filled in based on the 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.
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
Click the Test button, and make sure you get Xsolla Configured Correctly notification.
Set Up Stripe as a Payment Configuration in the Admin Portal
In the Admin Portal, go to the Platform Configurations dropdown and choose Payment Configurations.
Click the New Configuration button to add a new configuration.
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 be automatically filled in based on the 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.
Set Up Checkout.com as a Payment Aggregator in the Admin Portal
In the Admin Portal, go to the Payment Configurations menu under the Platform Configurations dropdown on the top-right header.
Add a new configuration by clicking 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 be automatically filled in based on the 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 configuring 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.
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, 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 Public Key.
- Input the Return URL.
- For WxPay:
- Input the App ID from the WxPay platform.
- Input the MCHID.
- Input the Key.
- 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.
- For AliPay:
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. AccelByte 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-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 US. Follow the tutorials below to create a global or specific TaxJar integration.
Create a Global 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 code 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 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 be automatically filled-in based on the 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.
Related Concepts
- For more information about the Payment service, check out the API Reference.
- Take a look at our Fulfillment service.
- Learn about how to set up Currency on our platform.