PayU Russia
Follow the standard PaymentsOS integration procedure, and then apply the relevant extra specifications described below.
- API Version
- Payment Methods
- Currencies
- Features
- Requests
- Setup Procedures
- Integration Procedures
- Testing
API Version
Minimum required API version: 1.0.0
Payment Methods
The following table lists all supported payment methods.
Payment Method | Payment Method Type |
---|---|
Apple Pay | eWallet |
MAESTRO | Cards |
MASTERCARD | Cards |
MIR | Cards |
QIWI | Bank Transfer |
VISA | Cards |
VISA Electron | Cards |
Currencies
RUB
Features
The following table provides an overview of all supported and non-supported features.
Requests
The following table lists all supported requests. Use the bodybuilder to create a sample request body for each request type.
Request | Partial/Multiple | Mode | Notes |
---|---|---|---|
Authorize | Partial and multiple are not supported | Asynchronous | Automatic capture is supported. |
Capture | Partial is supported | Asynchronous | |
Refund | Both partial and multiple are supported | Asynchronous | |
Void | Not Applicable | Asynchronous |
Request | Partial/Multiple | Mode | Notes |
---|---|---|---|
Authorize | Partial and multiple are not supported | Asynchronous | After the Authorize request, PayU Russia will capture the funds manually. You should thus not invoke a Capture request yourself. To receive a notification when the Capture is done, register webhooks and enable notifications for Create Capture events. |
Request | Partial/Multiple | Mode |
---|---|---|
Authorize | Partial and multiple are not supported | Asynchronous |
Capture | Partial is supported | Asynchronous |
Setup Procedures
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 the PaymentsOS Control Center, register webhooks to be notified when a transaction changes its status. | Required |
In your PayU Russia account, configure the currencies you want to use in transactions. Contact PayU Russia support for assistance. | Required |
In your PayU Russia account, enable IPNs (Instant Payment Notifications). This will ensure that PaymentsOS is kept in sync with PayU systems. See Configuring IPN Settings below. Contact PayU Russia support for assistance. | Required |
Disable the cvv check if you do not require customers to enter their cvv code when initiating a payment. This can only be done by PayU Russia support. Contact PayU Russia support for assistance. | Optional |
Enable partial captures if desired. This can only be done by PayU Russia support. Contact PayU Russia support for assistance. | Optional |
Enable partial captures if desired. This can only be done by PayU Russia support. Contact PayU Russia support for assistance. | Optional |
Integration Procedures
The following sections list the integration procedures that are specific to this provider.
Considerations when Creating an Authorization
The authorization amount may be higher than the payment.amount
, due to commissions related to installments. The final authorization.amount
can be seen in the response to the authorization request.
Configuring IPN settings
You must enable IPNs (Instant Payment Notifications) to keep PaymentsOS in sync with PayU systems. To enable IPNs, login to your PayU Russia account, and open the Account Management > Account Settings > IPN Settings tab.
In your account, configure the following IPN URL:
- For working with the PaymentsOS test environment: https://api.paymentsos.com/callbacks/payurussia/test/notifications
- For working with the PaymentsOS live environment: https://api.paymentsos.com/callbacks/payurussia/live/notifications
After aconfiguring the IPN URLs, select the following (required) fields: SALEDATE
, REFNOEXT
, ORDERSTATUS
, IPN_PID[]
, IPN_PNAME[]
, IPN_DATE
, and IPN_TOTALGENERAL
.
We recommend selecting all the fields.
As a last step, enable IPNs in your PayU Russia account (by default, IPNs are enabled for Authorized orders
only). Click Account Settings > Notifications > Send notifications for and select the following:
Canceled and returned orders
Complete orders
Integrating Apple Pay
Note
Make sure your account with PayU Russia has been configured to support Apple Pay.
Integrating Apple Pay involves the following:
Configuring your Apple Developer Account and adding Apple Pay to your checkout page.
Integrating Apple Pay with your PaymentsOS transaction flows.
Configuring your Apple Developer Account
Before following the procedures below, contact us to request a CSR (Certificate Signing Request) certificate. Apple requires this certificate. Then proceed as follows:
Configure your Apple Developer Account for Apple Pay. For help, see this video on the Apple developer site. Note that you will be required to upload the CSR (Certificate Signing Request) certificate as part of the configuration procedures.
When setting up your account in step 1, you will generate a apple_pay.cer file. Send us this file so that we can store it in your account.
Integrate Apple Pay in your checkout page using Apple's Javascript API, as explained on the Apple developer site.
Now proceed to integrate Apple Pay with PaymentsOS.
Integrating Apple Pay with PaymentsOS
Once your Apple Developer account is setup and you've added Apple Pay to your checkout page, you are ready to integrate Apple Pay with PaymentsOS.
When the customer chooses to pay with Apple Pay, Apple will return a token to your web page. Here's a sample token:
{
"version": "EC_v1",
"data": "DjI8Ez7nPhVo742aGEzABz/TfxCPt9LSdf2/h+0xIgVJbi3fQqd4lv3ogoTI3SQ7vZrDAWI8g2lbd5sflXBHc0z+wSeybsCcqZB3n1edRFXU7+6DYmdhFFWWCejwUc6XZWmsSaVNEQf+Kc0SeYrj8Eskdapj8bYX/QXxXSPqS4IKSjB+f3O0gUXSq7LK/jA9dl+BbWW0l3gXERU6n5rcYndO5rnjiwNUpnm7EMIMfNU+IPbsubpL82kbL2MdMJB1grel03J4JKld6G0pFSmjR2mF/xBY/yKkADRhoQkVlDRicuKVMpdRXXbIQjw/yRkLv/u8iy1wXI5YmEBB+W4QpPYsuxys94gMPaKhcaEK/OaT099aFrNBezbuLMTcTzbhXOpPwWn9pkAK0eZNOQ==",
"signature": "MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID5jCCA4ugAwIBAgIIaGD2mdnMpw8wCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE2MDYwMzE4MTY0MFoXDTIxMDYwMjE4MTY0MFowYjEoMCYGA1UEAwwfZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtU0FOREJPWDEUMBIGA1UECwwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgjD9q8Oc914gLFDZm0US5jfiqQHdbLPgsc1LUmeY+M9OvegaJajCHkwz3c6OKpbC9q+hkwNFxOh6RCbOlRsSlaOCAhEwggINMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDIwHQYDVR0OBBYEFAIkMAua7u1GMZekplopnkJxghxFMAwGA1UdEwEB...",
"header": {
"ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZMzlWOx8Xo8pXlOvzYONy+gvUy59ZOeuCov3kzc7fESczZTyvmA9dU9AdVMFaYyfCXlMG5oedi3Wy4yubqfxtg==",
"publicKeyHash": "xrJqUFO2jN5edGS8iETkfNXtwqnwSqRUUrQJBysFpZ8=",
"transactionId": "aa0b77fbb4f64cd3e5deef65177938b2d836e0d7d93d58000d8d54cfca19ae13"
}
}
Now pass the token's fields as key-value pairs in the payment_method.additional_details
field of the Create Authorization request. Make sure to also include all fields from the token's header
object using key names as shown in the example below (include just the fields, not the entire object). Here's a sample request body:
{
"payment_method": {
"source_type": "ewallet",
"type": "untokenized",
"vendor": "applepay",
"additional_details": {
"data": "DjI8Ez7nPhVo742aGEzABz/TfxCPt9LSdf2/h+0xIgVJbi3fQqd4lv3ogoTI3SQ7vZrDAWI8g2lbd5sflXBHc0z+wSeybsCcqZB3n1edRFXU7+6DYmdhFFWWCejwUc6XZWmsSaVNEQf+Kc0SeYrj8Eskdapj8bYX/QXxXSPqS4IKSjB+f3O0gUXSq7LK/jA9dl+BbWW0l3gXERU6n5rcYndO5rnji...",
"ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZMzlWOx8Xo8pXl...",
"publicKeyHash": "xrJqUFO2jN5edGS8iETkfNXtwqnwSqRUUrQJBysFpZ8=",
"signature": "MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID5j...",
"transactionId": "aa0b77fbb4f64cd3e5deef65177938b2d836e0d7d93d58000d8d54cfca19ae13",
"version": "EC_v1"
}
}
}
Using the Bodybuilder to Generate the Sample Request
When using the BodyBuilder to generate sample requests, make sure to choose the eWallet payment type.
You can now complete the transaction by invoking the Create Capture request.
Testing
The following table lists the card numbers you can use for testing.
Test Card Number | Expiration Month | Expiration Year | CVV / CVC2 | Cardholder Name | 3DS Enrolled | Payment Status | Error received |
---|---|---|---|---|---|---|---|
4652035440667037 | 08 | Next year | 971 | Any name | No | Success payment | - |
4051060000000178 | 12 | Next year | 895 | Any name | Yes | Success payment | - |
5105105105105100 | 03 | Up to 20 years in the future | 235 | Any name | No | Failed payment | Non sufficient funds |
5563693062030796 | 03 | Up to 20 years in the future | 235 | Any name | No | Failed payment | Stolen card, pick up |
4921301010459253 | 03 | Up to 20 years in the future | 235 | Any name | No | Failed payment | Default error |
POS Currency | MERCHANT_CODE | SECRET_KEY |
---|---|---|
RUB | payostst | paymentsos_test1# |