This guide covers sandbox account setup for testing PayPal and Apple Pay through the SDK, provides information about Venmo testing, and covers simulating ACH return codes in non-production environments.
PayPal provides a sandbox environment for testing. Venmo, however, cannot be fully tested in that sandbox as of 2026, so NPS does not support Venmo testing.
Integration partner team members create PayPal Developer accounts as needed. Each account holder then creates sandbox buyer accounts for their own testers.
- Go to developer.paypal.com and click Sign Up to create a PayPal Personal account.
- Log in to developer.paypal.com with the newly created account credentials.
Create one sandbox buyer account for each tester. Repeat these steps per person. Do not share a single login across testers.
- Log in to developer.paypal.com.
- Navigate to Testing Tools → Sandbox Accounts in the left navigation bar.
- Click Create Account to create a sandbox test account.
- Under Do you want a more customized account?, click Create to access additional configuration options.
- Set Account Type to Personal (buyer account).
- Provide an email address and password. Record these — they are the tester's login credentials.
- Set Verified Bank Account to Yes.
- Set Payment Card to PayPal.
- Click Create Account.
- Confirm the new account appears on the Sandbox Accounts page.
- Share the email address and password from step 6 with the tester.
- The tester enters this login when prompted to sign in at sandbox.paypal.com during the PayPal checkout flow in the SDK.
The sandbox environment supports negative testing scenarios to validate error handling for PayPal AUTH_ONLY transactions.
Use the following test amounts to simulate gateway-level errors:
| Amount | Transaction Type | Expected Result |
|---|---|---|
| 9999.01 | AUTH_ONLY | Returns E500 error |
| 9999.02 | AUTH_ONLY | Returns E412 error |
- The sandbox account does not need to be linked to NPS in any way.
- Sandbox credentials are separate from live PayPal credentials.
Apple Pay sandbox accounts must be created by NPS. You cannot create one independently.
- Contact NPS Tech Support and request an Apple Pay sandbox account.
- Tech Support will coordinate with the NPS team to create the account.
- Provide an email address that does not already have an Apple ID associated with it — this is required by Apple for sandbox account creation.
- Once created, you will receive sandbox credentials to use during Apple Pay testing in the SDK.
- The email address provided must not be associated with an existing Apple ID.
- Apple Pay sandbox testing requires Safari or an Apple Pay-capable device/browser.
In non-production environments, you can simulate ACH return codes for a charge without waiting for a return file from the bank. Creating an ACH_CHARGE for one of the amounts below triggers the corresponding ACH return and reason code when the ach-webhook job runs.
Use the following test amounts to simulate a returned transaction:
| Amount | R Code | Description |
|---|---|---|
| $0.01 | R01 | Insufficient funds |
| $0.02 | R02 | Receiver's account is closed |
| $0.03 | R03 | No account on file / RDFI unable to locate account |
| $0.04 | R04 | Invalid account number |
| $0.06 | R06 | Returned at ODFI request |
| $0.07 | R07 | Authorization revoked by receiver |
| $0.08 | R08 | Payment stopped |
| $0.09 | R09 | Uncollected funds |
| $0.10 | R10 | Originator not known or not authorized to debit |
| $0.11 | R11 | Entry not in accordance with terms of authorization |
| $0.13 | R13 | Invalid routing number |
| $0.15 | R15 | Account holder deceased |
| $0.16 | R16 | Account funds frozen |
| $0.17 | R17 | Invalid data, see addenda |
| $0.20 | R20 | Account does not allow ACH, or limit exceeded |
| $0.23 | R23 | Credit entry refused by receiver |
| $0.24 | R24 | Duplicate entry |
| $0.29 | R29 | Corporate customer advises not authorized |