PayU Ghana
API Version
Minimum required API version: 1.1.0
Payment Methods
The tables below lists payment methods that are supported through a server-to-server integration and through the PayU payment page.
Server-to-Server Integrations
The following table lists all supported payment methods through a server-to-server integration.
Payment Method | Payment Method Type |
---|---|
MASTERCARD | Cards |
VISA | Cards |
Payment Page
The following table lists all supported payment methods available on the PayU payment page. For each supported payment method, the API Value column list the value you need to pass in the payment_method.additional_details.supported_payment_methods
array of the Create Charge request.
Payment Method | API Value | Only for Requests |
---|---|---|
Airtel Money | AIRTEL_MONEY | Charge |
MASTERCARD | CREDITCARD | Charge |
MTN Momo | MTN_MOMO | Charge |
TigoPesa | TIGOPESA | Charge |
VISA | CREDITCARD | Charge |
Vodafone Cash | VODAFONE_CASH | Charge |
Currencies
GHS
Features
The following table provides an overview of all supported and non-supported features.
Feature | Supported |
---|---|
3DS 2.0 External | No |
3DS 2.0 PaymentsOS-handled | No |
3DS 2.0 Provider-handled | Yes |
3DS 2.0 Self-handled | No |
Installments | No |
Level 2 and 3 Data | No |
Multi-seller Payments | No |
Network Tokens | No |
Payment Facilitator | No |
PayU Risk | No |
Pre-authorization | No |
Retrieve Supported Payment Methods | No |
Retrieve Supported Plans | No |
Statement Soft Descriptor | No |
Stored Credentials Flag | No |
Transaction Processing without CVV | No |
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.
Request | Partial/Multiple | Mode | Notes |
---|---|---|---|
Charge | Not Applicable | Asynchronous or Synchronous | The request can be synchronous or asynchronous, depending on whether you implemented a 3DS flow. |
Refund | Both partial and multiple are supported | Synchronous | |
Void | Not Applicable | Synchronous |
Request | Partial/Multiple | Mode |
---|---|---|
Authorize | Partial and multiple are not supported | Asynchronous |
Capture | Partial is supported | Synchronous |
Charge | Not Applicable | Asynchronous |
Refund | Both partial and multiple are supported | Synchronous |
Void | Not Applicable | Synchronous |
Setup Procedures
Creating a Provider Configuration
When creating a new provider configuration in the PaymentsOS Control Center, select PayU Ghana as the provider.The following table lists the setup procedures that are specific to this provider.
Configuration | Required/Optional |
---|---|
In the PaymentsOS Control Center, configure the following credentials:
| Required |
In your PayU Ghana 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 Ghana support for assistance. | Optional |
If you want to use our End-to-End Encryption Service, configure the public key generated with PayU Ghana 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.PayU Ghana 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 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 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 statusPending
. 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,[SEE TABLE SUPPORTED PAYMENT METHODS]"
}
}
}
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}