How PayPal is solving merchant dropout issues with sandbox integrations

Introduction

For more than two decades, PayPal has remained at the forefront of the digital payment revolution. By leveraging technology to make financial services and commerce more convenient, affordable, and secure, the PayPal platform is empowering hundreds of millions of consumer and merchant accounts in more than 200 markets to join and thrive in the global economy.

Many merchants add PayPal as a checkout option to increase volumes and remove friction. To accept credit and debit card payments, merchants must enable the Advanced Credit and Debit Card (ACDC) processing feature on the PayPal platform. ACDC is a way to accept credit card payments securely using PayPal’s JavaScript SDK, while staying in control of the style of your desktop and mobile website checkout UI. While integrating, merchants enable ACDC processing in the sandbox environment. Once developers test their integration in the sandbox, they move to PayPal’s production environment to go live.

It can be challenging for developers to test integrations quickly in the Sandbox without providing details that would be needed for live production. We wanted to improve the test environment, so we have focused on reducing friction in the sandbox for developers to help increase the efficacy and speed in the integration process.

Problem Statement

  • Around 8% of PayPal’s developers and merchants proceed with activating ACDC. However, 4–5% of these developers and merchants drop off during integration flows, according to PayPal internal developer data. This is primarily due to complex data gathering flows scattered in multiple screens.
  • Today, developers experience friction integrating Advanced Checkout solutions offered by PayPal in the sandbox. This is caused due to multiple signups to enable ACDC which impacts integration time and leads to drop-offs.
  • Our goal was to reduce unnecessary steps in the Sandbox environment required to enable certain integrations. We want to establish a seamless process for all developers and merchants.

Challenges to auto-enable ACDC

Developers and merchants currently go through a lengthy integration process with ACDC on sandbox, one that requires various onboarding flows. As PayPal engineers, we needed to consider several challenges when enabling ACDC as a default option for our customers. These were the challenges associated with enabling ACDC as a default option:

1. Current onboarding flow is confusing with multiple signups to enable ACDC.

2. Risk and compliance validation checks are not relevant in sandbox since it’s test data. Still, such data was being collected.

3. Every country has a different national ID/tax ID and corresponding country specific data to be enabled before enabling ACDC for that business account.

4. How to enable this for existing merchant accounts who don’t have a national id or tax id specified in sandbox flows.

Solution Approach

Based on our discovery, auto-enabling ACDC processing capabilities by default for all merchants and developer accounts will make the sandbox integrations seamless and frictionless.

Before this discovery, when developers attempted to auto-enable ACDC, different countries had different data for users that needed to be pre-populated before auto-enablement. Once we discovered this challenge, we proceeded to identify how we can integrate the auto-enablement process. There were two approaches:

  • Enabling during the time of account creation (Developer Dashboard -> Accounts -> Create Account)
  • Enabling during the app creation process (Developer Dashboard -> My Apps -> Create App)

After looking at the merits of both approaches, we decided to go with the account creation approach which we will expand on below. With this approach, whenever a business account is created in developer dashboard, it will be enabled with ACDC processing capabilities by default.

Account creation in developer dashboard:

Business accounts are created in two ways:

  1. Simplified: The most common account creation process is simplified and requires only a few details, such as Account Type and Country.

2. Custom: This more involved process offers additional customizable fields, and the user needs to only select Account Type and Country.

APIs

To enable ACDC for a particular account, we need to call multiple APIs, some of them are mentioned below. The onboarding API is responsible for creating an onboarding session id, which is required for the onboarding API along with the account ID to ensure a test agreement is completed. Once the test agreement process is completed, functionality API calls with product specific information are stored and used to enable ACDC processing for that account.

· Onboarding API Call with user session

Request

{“<<account type>>”: “Merchant/developer”,“country”: “USA”,“Integration Env”: “SANDBOX”}

Response

{“id”: “unique id”,“status”: “IN_PROGRESS”, 
“time_created”: “2022–05–19T17:48:34.208Z”,}

· Onboarding secondary API

Request

[{“<<operation>>”: “add”,“what”: “test integration”,“info”: [{  “xyx”: “2”,  “abc”: “3”,  “test_type”: “some value”, }],“from”: “”}]

Response

{“id”: “FB55N64TWDR7Y”,“<<account type>>”: “Merchant/developer”,“test integration”: [{}],“currency”: “USD”}

· Functionality API

Request

{“account”: “ABC”,“identifier”: “some info”,“products”: [  A,  B,  C  ]}

Response

{“features”: [{  “id”: “abc”,  “feature name”: “A”,  “create_time”: “2022–05–18T22:35:05Z”,  “status”: “activated”,  }, {  “id”: “xyz”,  “feature name”: “B”,  “create_time”: “2022–05–18T22:35:05Z”,  “status”: “activated”,  }]}

*Note: These APIs are changed for security purposes. The actual APIs used for implementation are different than the ones shown above.

Developers with new sandbox business accounts will have ACDC enabled by default. For existing sandbox business accounts, the Account Details section will indicate whether ACDC is enabled or disabled for the account. To verify whether ACDC is enabled:

  1. Log into the Developer Dashboard and go to the sandbox account section
  2. Account Details-> Manage accounts-> View/edit accounts-> Settings tab shows ACDC enabled or disabled. If disabled, a “Learn How to Enable” link will redirect to onboarding documentation to enable ACDC.

Monitoring & Alerts

After successfully launching, we looked at various metrics to ensure all the account creation is happening irrespective of ACDC enablement or not. For some of these metrics, we have detectors that will help us notify if anything is exceeding the threshold limits.

Conclusion

Our goal is for the dropout rate to reduce significantly, and we were successfully able to reduce ACDC enablement steps 4x faster from 12 to 3 steps, hence reducing time and data requirements for enabling ACDC processing. Now the entire process is seamless, making integrations and testing much easier and faster.

What’s Next?

1. A toggle feature to enable/disable ACDC functionality within the settings option.

2. This effort will help us accelerate new integrations with merchants in the PayPal sandbox environment.

References

1. ACDC (Advanced Credit Card and Debit Card): https://developer.paypal.com/docs/checkout/advanced/

2. Sandbox: https://developer.paypal.com/tools/sandbox/accounts/

3. Sandbox Account Creation: How to Create PayPal Sandbox Accounts

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store