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
InstallmentsNo
Level 2 and 3 DataNo
Retrieve Supported Payment MethodsNo
Statement Soft DescriptorNo
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

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

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.

Testing

You can use the test cards from the PayU South Africa Test Credentials site.

results matching ""

    No results matching ""