Sandbox Integration Documentation

Last update: November 27th, 2019

Summary

  1. Integration Sandbox overview
  2. Integration Sandbox merchant account
  3. Make test calls after implementing payment APIs
    1. 3.1. Visa/Mastercard credit card
    2. 3.2. Installment payments
  4. Integration Sandbox notifications
  5. Time Zone
  6. Personal data notice
  7. Go live!

1. Integration Sandbox overview

PayU Integration Sandbox mirrors the features provided by PayU production servers. While some production features do not apply to the Sandbox (emails for order notifications, email notification, reports), the Sandbox has parity with the PayU APIs features set supported by the live environment. This means you can test your PayU processes and know they will behave the same on the production servers as they do in the Sandbox environment.

On Sandbox environment, for API calls, test accounts with their associated Merchant Code and Secret Key should be used. This way, you shall be able to test and debug your application without referencing any real PayU user. The Sandbox lets you develop and test your application in a safe environment and provides you a very efficient way to fine tune your payment routines before moving your application into production.

Every time you make a transaction using Sanbox credentials, PayU creates an order that behaves exactly like an order from live environment. You can track your orders by accessing the Sandbox cPanel at the following address https://sandbox.payu.ro/cpanel/

Integration Sandbox environment endpoints

PayU Integration Sandbox environment consists in the following endpoints:

During your integration, use Sandbox endpoints and your test account details in exact PayU API request that you make. You can use the Sandbox cPanel to review your orders made during API integration.

2. Integration Sandbox merchant account

You can use Sandbox accounts to generate orders and test your integration. You should ask for Sandbox cPanel account to your PayU Account Manager. He / She will provide you the cPanel Sandbox account credentials (username and password). After receiving these credentials, follow the below steps in order to make a minimal setup for starting integration:

  1. Log in to https://sandbox.payu.ro/cpanel/
  2. Click Account Management
  3. Click Account Settings
  4. On Account Settings tab you should see Merchant Integration Code and Secret Key
  5. On IPN Settings you should setup an URL where you'll be able to receive HTTP IPN notifications from PayU Integration Sandbox

Use your Merchant Integration Code and Secret Key in every API call integration that you'll do.

3. Make test calls after implementing payment APIs

On Integration Sandbox environment you can test card payments and also Installments and Loyalty points transactions:

3.1. Visa/Mastercard credit card

Step 1 Implement one of PayU payment APIs, as described in:

Step 2 Use the CCVISAMC payment method to test your implementation.
Depending on your Sandbox account configuration, your payment may go through the standard flow, which is the default one for most setups, or the advanced flow. For the standard flow, you can use the following card details for different testing scenarios:

Test Card Number Expiration Month Expiration Year CVV / CVC2 Cardholder Name 3DS Enrolled Payment Status Error received
4111111111111111 12 Up to 20 years in the future 123 Any name YES Success payment -
4111111111111111 11 Up to 20 years in the future 123 Any name No Success payment -
5105105105105100 11 Up to 20 years in the future 123 Any name No Failed payment Not sufficient funds
5563693062030796 11 Up to 20 years in the future 123 Any name No Failed payment Stolen card, pick up
4921301010459253 11 Up to 20 years in the future 123 Any name No Failed payment Default error

For the advanced flow, you can use the following card details for different testing scenarios:

Test Card Number Expiration Month Expiration Year CVV / CVC2 Cardholder Name 3DS Enrolled Payment Status Error received
Any valid card number (e.g. 4111111111111111) Any month Up to 20 years in the future Anything between 000 and 100 Any name Depends on your account configuration Success payment -
Any valid card number (e.g. 4111111111111111) Any month Up to 20 years in the future 101 Any name Depends on your account configuration Failed payment Not sufficient funds
Any valid card number (e.g. 4111111111111111) Any month Up to 20 years in the future 102 Any name Depends on your account configuration Failed payment Unexpected error
Any valid card number (e.g. 4111111111111111) Any month Up to 20 years in the future 103 Any name Depends on your account configuration Failed payment Timeout error
Any valid card number (e.g. 4111111111111111) Any month Up to 20 years in the future 104 Any name Depends on your account configuration Failed payment Invalid transaction
Any valid card number (e.g. 4111111111111111) Any month Up to 20 years in the future 105 Any name Depends on your account configuration Failed payment Authentication error
Any valid card number (e.g. 4111111111111111) Any month Up to 20 years in the future Anything between 106 and 200 Any name Depends on your account configuration Failed payment Generic error (An error occurred during processing. Please retry the operation.)

Step 3 When using 3DS flow (Expiration month 12), you will be redirected to a simulator page that emulates the 3DS bank page, where you for password you can use any string:

3DS Page

Step 4 Based on the option you choose, you will have an authorized or failed transaction in Integration Sandbox environment.
After submitting the 3DS form you'll be redirected to your BackRef URL (if you set any) or on finish page.

3.2. Installment payments

Step 1 Implement one of PayU payment APIs, as described in:

Step 2 You can test installments payment methods using the following card details for different testing scenarios:

Brand Test Card Numbers Expiration Month Expiration Year CVV / CVC2 Cardholder Name
Card Avantaj 5186170004106668
5186170028360523
5186170008405330
03 2028 123 Any Name
BRD Finance 5220620107681833
5220620150352787
5220620137283642
03 2028 123 Any Name
Star BT 4555552420664386
4555551748017871
4555553122374365
03 2028 123 Any Name
Raiffeisen 6011116461271023
6011113186588013
6011113776422151
03 2028 123 Any Name
Garanti Bonus Card 5555003167580804
5555004528364631
5555004866445521
03 2028 123 Any Name
BCR 4999990806306657
4999995741805002
4999992252873230
03 2028 123 Any Name
AlphaBank 4670935882226267
4670934671405661
4670935815277585
03 2028 123 Any Name

4. Integration Sandbox notifications

During order processing, PayU sends various notifications to the accounts involved in the transaction.

The Integration Sandbox sends notifications for orders, just like the live platform. However, email notifications that are generated by the Integration Sandbox are never sent outside the Integration Sandbox environment.

5. Time Zone

Important Note : All time information inside the Integration Sandbox is UTC (Coordinated Universal Time).
Example: In Romania, summer time, add 3 hours to find the time of the order (9:30 means 12:30).

6. Personal data notice

Please be aware that all data used in this environment is test data and should be treated as such. Please do not use real customer data or payment information data (cardholder information, ID information, addresses, etc.), since not all privacy policies are applied to this environment. We recommend that the sandbox integration environment should be tested against another test environment and not against a production environment, to avoid any data loss or implementation errors that might occur.

7. Go live!

After you have done all API integrations that you needed, and tested your application accordingly, you'll want to move the code into Production environment. To do this, please update all API endpoints and authentication credentials for Merchant Integration Code and Secret Key with the ones from live cPanel.