PayU South Africa

Follow the standard PaymentsOS integration procedure, and then apply the relevant extra specifications described below.

API Version

Minimum required API version: 1.1.0

Payment Methods

The following table lists all supported payment methods.

Payment MethodPayment Method TypeOnly for Requests
American ExpressCards
DINERSCards
DISCOVERYMILESLoyaltyAuthorize, Capture, Charge
EBUCKSLoyaltyCharge
EFT PROBank Transfer
MASTERCARDCards
MASTERPASSeWalletCharge
MOBICREDeWalletCharge
VISACards
VISA CHECKOUTeWalletAuthorize, Capture, Charge

Currencies

ZAR

Features

The following table provides an overview of all supported and non-supported features.

FeatureSupported
3DS 1.0 ExternalNo
3DS 1.0 InternalYes
3DS 2.0 ExternalNo
3DS 2.0 InternalNo
End-to-End Encryption (E2EE)Yes
InstallmentsNo
Level 2 and 3 DataNo
Retrieve Supported Payment MethodsNo
Retrieve Supported PlansNo
Statement Soft DescriptorYes
Stored Credentials FlagNo
Transaction Processing without CVVYes

Requests

The following table lists all supported requests for card-based transactions. Use the bodybuilder to create a sample request body for each request type.

Supported requests for card transactions.
RequestPartial/MultipleModeNotes
AuthorizePartial and multiple are not supportedAsynchronous or SynchronousThe request can be synchronous or asynchronous, depending on whether you implemented a 3DS flow.
Capture Partial is supportedSynchronous
Charge Not ApplicableAsynchronous or SynchronousThe request can be synchronous or asynchronous, depending on whether you implemented a 3DS flow.
Refund Both partial and multiple are supportedSynchronous
Void Not ApplicableSynchronous
Supported requests for bank transfer transactions.
RequestPartial/MultipleMode
Charge Not ApplicableAsynchronous
Supported requests for eWallet transactions.
RequestPartial/MultipleMode
Authorize Not ApplicableAsynchronous
Capture Partial is supportedAsynchronous
Charge Not ApplicableAsynchronous
Supported requests for loyalty transactions.
RequestPartial/MultipleMode
Authorize Not ApplicableAsynchronous
Capture Partial is supportedAsynchronous
Charge Not ApplicableAsynchronous
Supported requests for payment page transactions.
RequestPartial/MultipleMode
Charge Not ApplicableAsynchronous
Refund Both partial and multiple are supportedSynchronous
Void Not ApplicableSynchronous

Setup Procedures

Creating a Provider Configuration

When creating a new provider configuration in the PaymentsOS Control Center, select PayU Magellan as the provider.

The following table lists the setup procedures that are specific to this provider.

ConfigurationRequired/Optional
In the PaymentsOS Control Center, configure the following credentials:
  • Username: Web service username provided by PayU South Africa.
  • Password: Web service password provided by PayU South Africa.
  • Safekey: PayU Merchant Identifier provided by PayU South Africa.
To obtain test credentials, click here. To obtain live credentials, login to the merchant portal.
Required
In your PayU South Africa account, verify whether 3DS is configured to be optional or required and handle the 3DS flow accordingly. For more information, see Enabling 3DS below. Contact PayU South Africa support for assistance.Required
In your PayU South Africa account, disable the cvv check if you do not require customers to enter their cvv code when initiating a payment. Contact PayU South Africa support for assistance.Optional
In your PayU South Africa account, enable the payment methods you want to display in the payment page. For more information, see Implementing a Payment Page Flow below. Contact PayU South Africa support for assistance.Optional
If you want to use our End-to-End Encryption Service, configure the public key generated with PayU South Africa in the PublicJWK field in your PaymentsOS account. Optional

Integration Procedures

The following sections list the integration procedures that are specific to this provider.

Enabling 3DS

Note

3DS must be implemented as part of a redirection flow. For an overview of how to implement a redirection flow, see Implementing a Redirection Flow.

If you require 3DS, contact PayU South Africa support to configure the following IPN URLs in your PayU South Africa environment:

After configuring the IPN URLs, configure Webhooks in your PaymentsOS environment to receive updates when a change in a transaction status occurs.

Note that in your PayU South Africa account, you can configure 3DS to be either required (force 3DS) or optional. If you configured your account to enforce 3DS, then the user will always be required to complete a 3DS authentication step. If you configured 3DS to be optional and you want the user to complete a 3DS authentication step, then include a provider_specific_data object with an is3ds value of true in your Create Authorization or Create Charge API requests.

"provider_specific_data": {
    "magellan": {
      "additional_details": {
        "is3ds": "true"
    }
  }

Regardless of whether 3DS is set to required or optional, PayU South Africa will only direct a user to complete a 3DS authentication flow if a user's card is enrolled for 3DSecure.

Bear in mind that a 3DS redirection flow requires that you pass a merchant_site_url in the Create Authorization or Create Charge request. If you do not pass a merchant_site_url, the user will not be able to complete the 3DS authentication flow. The response data of the Create Authorization or Create Charge request will indicate this in the additional_details.error field:

{
  "additional_details": {
    "error": "The transaction requires 3DS authentication, but cannot be completed as the merchant_site_url was not provided"
  }
  ...
}

Note

If the user could not complete the 3DS authentication flow, the transaction will remain in status Pending. After 40 minutes, the transaction will transition to a status of Failed.

Processing Payments without a CVV Check

If you disabled the cvv check in your account, you will need to pass a recurring field with a value of true in the provider_specific_data object.

"provider_specific_data": {
    "magellan": {
      "additional_details": {
       ...
    },
     "recurring": true
  }

Implementing a Payment Page Flow

If desired, you can implement a payment flow in which users are redirected to a payment page where they can then select their payment method of choice. This flow is identical to a redirection flow, in which the response of the Create Charge request returns a Redirection object that includes the URL of the payment page to which you can redirect the user. Just make sure that your Create Charge request includes a payment_method.additional_details.supported_payment_methods field with a comma separated list of the payment methods you want to show in the payment page:

{
  "payment_method": {
    "source_type": "payment_page",
    "type": "untokenized",
    "additional_details": {
      "supported_payment_methods": "CREDITCARD,CREDITCARD_VCO,MOBICRED,MASTERPASS,VERVE"
    }
  }
}

A few caveats:

  • In your PayU account, you must enable the payment methods you want to show in the payment page.

  • Authorize and Capture requests are not supported in a payment page flow.

  • When using the BodyBuilder to generate sample requests, make sure to choose the Payment Page payment type.

Testing

For testing, use the cards listed below. For any of the cards, use 02/2022 as expiry date and 123 as CVV.

VISA - Simulator Matrix for basic 3DS Scenarios

Card Type

PAN

Card Enrolled

OTP Success

ECI

Description

Risk Setting: Fully Authenticated = OFF

VISA 3DS test scenarios for 2 different 3DS authentication mode settings

Transaction Result

VISA

4000015372250142

YES

YES

05

Cardholder Authentication Success + Bank response success

Approved

VISA

4000019562093601

YES

NO


Cardholder Authentication Failure

Transaction Failed

VISA

4000019542438801

NO

N/A

06

Issuer/Cardholder not participating

Transaction Successful

VISA

4000029520272445

YES

YES

05

Cardholder Authentication Success + Bank response failure

Transaction Failed

MasterCard - Simulator Matrix for basic 3DS Scenarios

Card Type

PAN

Card Enrolled

OTP Success

ECI

Description

Risk Setting: Fully Authenticated = OFF

MasterCard 3DS test scenarios for 2 different 3DS authentication mode settings

Transaction Result

MasterCard

5100018609086541

YES

YES

02

Cardholder Authentication Success

Transaction Successful

MasterCard

5100013960913581

YES

NO


Cardholder Authentication Failure

Transaction Failed

MasterCard

5100011063555010

NO

N/A

01

Issuer/Cardholder not participating

Transaction Successful

MasterCard

5100022615342534

YES

YES

02

Cardholder Authentication Success + Bank response failure

Transaction Failed

3D Secure

For testing 3D secure transactions, use the following accounts.

3DS redirect:

  • Username: 800060
  • Password: qDRLeKI9
  • Safekey: FBEF85FC-F395-4DE2-B17F-F53098D8F978

3DS no-redirect:

  • Username: 800059
  • Password: 0aSlJ068
  • Safekey: 38D2290B-712B-4D86-B514-E450A1788F91

results matching ""

    No results matching ""