PayU Single Platform (PL, CZ, HU, SK)

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

API Version

Minimum required API version: 1.0.0

Payment Methods

The following table lists all supported payment methods.

Payment MethodPayment Method Type
MAESTROCards
MASTERCARDCards
Payment WallBank Transfer
PBL (Pay by Link)Bank Transfer
VISACards

Currencies

BGN, CHF, CZK, DKK, EUR, GBP, HRK, HUF, NOK, PLN, RON, RUB, SEK, UAH, USD

Bank transfer only supports CZK, EUR and PLN.

Features

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

FeatureSupported
3DS Data from External MPINo
3DS RedirectionYes
InstallmentsNo
Level 2 and 3 DataNo
Retrieve Supported Payment MethodsYes
Statement Soft DescriptorNo
Stored Credentials FlagNo
Transaction Processing without CVVYes

Requests

The following table lists all supported requests. 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 supportedAsynchronousFollowing an Authorize request, the request will have a status of ‘Waiting for confirmation’ in your PayU Single Platform account.
CapturePartial and multiple are not supportedAsynchronous
  • Partial Capture is not supported. Sending less than the full amount will generate an error.
  • The hold on the funds will be released if you did not capture the funds within 5 days of the Authorize request.
Refund Partial is supportedAsynchronous
Void Not ApplicableAsynchronous
Supported requests for bank transfer transactions.
RequestPartial/MultipleModeNotes
AuthorizePartial and multiple are not supportedAsynchronousFollowing an Authorize request, the request will have a status of ‘Waiting for confirmation’ in your PayU Single Platform account.
CapturePartial and multiple are not supportedAsynchronousThe hold on the funds will be released if you did not capture the funds within 10 days of the Authorize request.
Refund Partial is supportedAsynchronous

Setup Procedures

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

ConfigurationRequired/Optional
In the PaymentsOS Control Center, configure the following credentials:
  • pos_id: The merchant's pos_id in the PayU Single Platform account.
  • second_key: The second_key obtained from PayU.
  • client_secret: used to validate notifications provided by PayU.
For your test credentials, login to your PayU Sandbox account.
For your live credentials, login to your PayU Account. In the PayU Biz Panel, in the Online payments tab, click > My Shops > click POS of the relevant shop > click the name under POS > CONFIGURATION KEYS.
Required
In the PaymentsOS Control Center, register webhooks to be notified when a transaction changes its status. The payment flows for PayU Single Platform are asynchronous, which return responses with the pendingstatus.Required
In your PayU Single Platform account, disable the Automatic collection option in your PayU Single Platform account for the relevant PayU Single Platform payment methods. This will enable the correct processing of authorization requests, and keep PaymentsOS in sync with the PayU system.Required
In your PayU Single Platform account, configure the currencies you want to use in transactions (only applicable to the credit card and payment_wall payment methods).Required
In your PayU Single Platform account, enable Tokenization for credit card payment methods. Contact PayU Single Platform support for assistance.Required
In your PayU Single Platform account, disable the CVV check if desired. Contact PayU Single Platform support for assistance.Optional

Integration Procedures

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

Redirecting your customer for Asynchronous Payment Flows

You'll need to redirect your customer for the following payment methods:

  • Credit card payments that include 3D Secure
  • PBL bank transfers
  • payment_wall payments

When you send a post authorization request, we will return an authorization resource containing an authorization.redirection.url, and a status of pending. Redirect your customer to this URL, so that they can authenticate themselves and complete the payment flow:

  • For credit card payment methods, the redirection is to a 3D Secure site.
  • For the PBL payment method, the redirection is to your customer's bank authentication site.
  • For the payment_wall payment method, the redirection is to a PayU Single Platform hosted page, where your customer can select a payment method.

Once the authentication / payment method selection process at the provider is done, we'll redirect your customer's browser back to your site, using the merchant_site_url (that you provided in the post authorization). We've included the following URL parameters in the merchant_site_url, to provide you with the context of the page that you'll need to load: payment_id, authorization_id, and status (of the authorization). Here's an example:

<merchant_site_url>
  ?payment_id=dd1fbe34-4636-4a61-8cb1-27ac8a175284
  &authorization_id=aec1c306-e0f7-452b-8fb5-5b34489e9d10
  &status=Pending

Note

The status of your authorization request may still be pending when we redirect your customer back to your site (while the provider is processing the 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 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 5 days, the transaction will transition to a status of Failed.

Parsing the Response of the Retrieve Supported Payment Methods Request

When building your checkout page, you can choose to invoke the Retrieve Supported Payment Methods request to retrieve a list of supported payment methods. The response will have a structure similar to the following:

...
{
 "supported_payment_methods": [
    {
      "display_name": "Płacę później",
      "vendor": "dp",
      "source_type": "bank_transfer",
      "status": "ENABLED",
      "logo_url": "https://static.payu.com/images/mobile/logos/pbl_dp.png"
    },
    {
      "display_name": "BLIK",
      "vendor": "blik",
      "source_type": "bank_transfer",
      "status": "ENABLED",
      "logo_url": "https://static.payu.com/images/mobile/logos/pbl_blik.png"
    }
    ...
 ],
 ...
}

When creating a transaction flow for PBL and Payment Wall, you are required to pass in the bank_name in the request body of the Create Authorization request. Contrary to what you would expect, the bank_name corresponds to the vendor field returned in the response data of the Retrieve Supported Payment Methods request.

Here's a sample Create Authorization request for a bank transfer using the PBL payment method. Notice that bank_name is populated with the value of the vendor field you obtained when invoking the Retrieve Supported Payment Methods request. You should specify a bank_name value, regardless of the source_type returned by the Retrieve Supported Payment Methods request.

{
  "merchant_site_url": "http://www.abc.com/return-url",
  "payment_method": {
    "source_type": "bank_transfer",
    "type": "untokenized",
    "vendor": "PBL",
    "additional_details": {
      "bank_name": "blik", // This is the vendor
      "language": "pl"
    }
  },
  "reconciliation_id": "40762342"
}

Testing

This section list the test card numbers you can use for testing your integration and outlines the test procedures for bank transfer payment methods.

Testing with Credit Card Payment Methods

You can use test cards for testing.

Card number Expiration date CVV Expected response 3-D Secure Card type
4444333322221111 01-2021 123 Positive authorization no Visa
5434021016824014 01-2021 123 Positive authorization no MasterCard
5099802211165618 01-2021 123 Positive authorization no Maestro
4012001037141112 01-2021 123 Positive authorization yes Visa
5000105018126595 01-2021 123 Negative authorization no Maestro

You can use the following public sandbox test POSes without registering:

POS Currency POS ID secret_key second_key
POS_PLN 356102 67c13e1355d7694e6c7a3f22d1cc8bea 7d73d76c776bcee7245d3459aebccf62
POS_EUR 356103 cf73c2810d8769b1b3ff243464dc5429 e90905cc04234967e969da988589d0ef
POS_USD 356104 60566c3d8a4d7771ae8f2ec10b8b74c6 7947b03b6d5cf08c82da2778f44a519b
POS_SEK 356105 7ef1918c0884da716e2c27e0d72352cf f91f7b4481a9d3d1fdc80d2ad38e3593
POS_CZK 356107 a83fd674e3912acb7c5a3233f25eb3f1 d3a369c216e12e189bb735dd317de932

Testing with the PBL or payment_wall Payment Methods

To test an authorization request, use the following values for the payment_method.additional_details.bank_name field:

  • For the live environment use: "t", "payment_wall".
  • For the test environment use: "m", "o", "p", "c", or "payment_wall".

results matching ""

    No results matching ""