PayU Turkey
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 | Notes |
---|---|---|
American Express | Cards | Contact your sales representative for activating transactions for American Express. |
BKM | Bank Transfer | |
COMPAY | Bank Transfer | |
MAESTRO | Cards | |
MASTERCARD | Cards | |
MIR | Cards | |
Troy | Cards | This is a local card vendor. |
UPT | Bank Transfer | |
VISA | Cards | |
VISA Electron | Cards | |
VISA Plus | Cards | |
WIRE | Bank Transfer |
Currencies
TRY, USD, EUR, RUB, GBP
Features
The following table provides an overview of all supported and non-supported features.
Feature | Supported |
---|---|
![]() | No |
3DS Redirection | Yes |
Installments | Yes |
Statement Soft Descriptor | No |
![]() | No |
![]() | Yes |
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 |
---|---|---|
Authorize | Partial and multiple are not supported | Asynchronous |
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 Turkey 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. |
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 Turkey account, configure the currencies you want to use in transactions. Contact PayU Turkey support for assistance. | Required |
In your PayU Turkey 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 Turkey support for assistance. | Required |
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. For more details see Installments Commissions in your PayU Turkey account.
Configuring IPN Settings
Enabling IPNs is mandatory, to keep the PaymentsOS platform in sync with PayU systems.
Login to your PayU Turkey account, and choose Account Management > Account Settings > IPN Settings. Then set the following IPN URLs:
- For the PaymentsOS test environment: https://api.paymentsos.com/callbacks/payuturkey/test/notifications
- For the PaymentsOS live environment: https://api.paymentsos.com/callbacks/payuturkey/live/notifications
Next, 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 Turkey account by choosing Account Settings > Notifications > Send notifications for, and select:
- Canceled and returned orders
- Complete orders
Note that by default, only Authorized orders is enabled.
Redirecting your Customer for Redirection Flows (3DS and some APMs)
When you send a post authorization
request, a redirection flow may be required (3D Secure authentication, and for some APMs). If so, 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 / complete the payment flow.
Once the redirection session 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
request). <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).
Special Responses for the UPT and WIRE Payment Methods
The UPT and WIRE payment methods don't follow the standard redirect flow. Review the sections below for more information on handling the flow for each of those payment methods.
UPT
The response from a post authorization
for UPT does not include a redirect URL. It contains a provider_data.additional_information.tx_refno
field, which you should display to your customer. They will need the tx_refno
to pay the amount
at the bank.
Here's a sample response from a post authorization
request for the UPT payment method:
{
"id": "7d69186f-f92b-48d0-b194-81a613ef872d",
"amount": 31500,
"created": "1515077300327",
"reconciliation_id": "1b2084bd-9513-4b34-b047-420d309c6e07",
"provider_specific_data": {
"additional_details": {
"bill_citype": "PERSONALID",
"bill_cinumber": "12345678901",
"payment_method": "UPT"
}
},
"payment_method": {
"billing_address": {
"country": "TUR",
"first_name": "John",
"last_name": "Doe",
"phone": "756312633",
"email": "John.Doe@email.com"
},
"type": "untokenized",
"source_type": "UPT"
},
"result": {
"status": "Pending"
},
"provider_data": {
"provider_name": "PayUTurkey",
"response_code": "PENDING_AUTHORIZATION",
"description": "Order saved and pending authorization.",
"raw_response": "{\"TX_REFNO\":\"87885890761\",\"AUTH_CODE\":\"\",\"RETURN_MESSAGE\":\"Order saved and pending authorization.\",\"ALIAS\":\"74bbac2b914a39bcdbf2e7ed5b6b317f\",\"STATUS\":\"SUCCESS\",\"RRN\":\"\",\"DATE\":\"2018-01-04 17:48:20\",\"ORDER_REF\":\"1b2084bd-9513-4b34-b047-420d309c6e07\",\"RETURN_CODE\":\"PENDING_AUTHORIZATION\",\"HASH\":\"713d9d20bee866b5f3953b95ff436eae\",\"REFNO\":\"48921185\"}",
"authorization_code": "",
"external_id": "48921185",
"additional_information": {
"tx_refno": "87885890761"
}
}
}
WIRE
The response from a post authorization
for WIRE contains a list of your merchant bank accounts, which you should display to your customer. They will need to select a bank account, to transfer to.
Here's a sample response from a post authorization
request for the WIRE payment method:
{
"id": "da6aa5ce-7c2c-474a-bbd5-5837fd5505dc",
"amount": 31500,
"created": "1515076243342",
"reconciliation_id": "74ac9b5e-6204-4265-a8d0-a0532d15d1ce",
"provider_specific_data": {
"additional_details": {
"payment_method": "WIRE"
}
},
"payment_method": {
"billing_address": {
"country": "TUR",
"first_name": "John",
"last_name": "Doe",
"phone": "756312633",
"email": "John.Doe@email.com"
},
"type": "untokenized",
"source_type": "WIRE"
},
"result": {
"status": "Pending"
},
"provider_data": {
"provider_name": "PayUTurkey",
"response_code": "PENDING_AUTHORIZATION",
"description": "Order saved and pending authorization.",
"raw_response": "{\"AUTH_CODE\":\"\",\"RETURN_MESSAGE\":\"Order saved and pending authorization.\",\"ALIAS\":\"dfdfee128cb5870d4601c894e96f13a0\",\"STATUS\":\"SUCCESS\",\"RRN\":\"\",\"DATE\":\"2018-01-04 17:30:43\",\"ORDER_REF\":\"74ac9b5e-6204-4265-a8d0-a0532d15d1ce\",\"RETURN_CODE\":\"PENDING_AUTHORIZATION\",\"HASH\":\"0ccffa773df5236026b6984d4627931a\",\"REFNO\":\"48880145\"}",
"authorization_code": "",
"external_id": "48880145",
"documents": [{
"descriptor": "bank_list",
"content_type": "json",
"content": "{\"BANK_IDENTIFIER\":\"IS BANK\",\"BANK_ACCOUNT\":\"TR770006400000110111847674\",\"ROUTING_NUMBER\":[\"\"],\"IBAN_ACCOUNT\":\"TR770006400000110111847674\",\"BANK_SWIFT\":\"ISBKTRIS\",\"COUNTRY\":\"Turkey\",\"WIRE_RECIPIENT_NAME\":\"PayU Ödeme Kuruluşu AŞ\",\"WIRE_RECIPIENT_VAT_ID\":\"0550442060\"}"
}, {
"descriptor": "bank_list",
"content_type": "json",
"content": "{\"BANK_IDENTIFIER\":\"FINANSBANK\",\"BANK_ACCOUNT\":\"TR680011100000000056754760\",\"ROUTING_NUMBER\":[\"\"],\"IBAN_ACCOUNT\":\"TR680011100000000056754760\",\"BANK_SWIFT\":\"FNNBTRIS \",\"COUNTRY\":\"Turkey\",\"WIRE_RECIPIENT_NAME\":\"PayU Ödeme Kuruluşu AŞ\",\"WIRE_RECIPIENT_VAT_ID\":\"0550442060\"}"
}, {
"descriptor": "bank_list",
"content_type": "json",
"content": "{\"BANK_IDENTIFIER\":\"YAPI KREDI BANKASI\",\"BANK_ACCOUNT\":\"TR680006701000000046382916\",\"ROUTING_NUMBER\":[\"\"],\"IBAN_ACCOUNT\":\"TR680006701000000046382916\",\"BANK_SWIFT\":\"YAPITRISFEX\",\"COUNTRY\":\"Turkey\",\"WIRE_RECIPIENT_NAME\":\"PayU Ödeme Kuruluşu AŞ\",\"WIRE_RECIPIENT_VAT_ID\":\"0550442060\"}"
}, {
"descriptor": "bank_list",
"content_type": "json",
"content": "{\"BANK_IDENTIFIER\":\"TURK EKONOMI BANKASI\",\"BANK_ACCOUNT\":\"TR070003200000000030539275\",\"ROUTING_NUMBER\":[\"\"],\"IBAN_ACCOUNT\":\"TR070003200000000030539275\",\"BANK_SWIFT\":\"TEBUTRIS\",\"COUNTRY\":\"Turkey\",\"WIRE_RECIPIENT_NAME\":\"PayU Ödeme Kuruluşu AŞ\",\"WIRE_RECIPIENT_VAT_ID\":\"0550442060\"}"
}, {
"descriptor": "bank_list",
"content_type": "json",
"content": "{\"BANK_IDENTIFIER\":\"TURKIYE GARANTI BANKASI, A.S.\",\"BANK_ACCOUNT\":\"TR530006200006800006295309\",\"ROUTING_NUMBER\":[\"\"],\"IBAN_ACCOUNT\":[\"\"],\"BANK_SWIFT\":\"TGBATRISXXX\",\"COUNTRY\":\"Turkey\",\"WIRE_RECIPIENT_NAME\":\"PayU Ödeme Kuruluşu AŞ\",\"WIRE_RECIPIENT_VAT_ID\":\"0550442060\"}"
}, {
"descriptor": "bank_list",
"content_type": "json",
"content": "{\"BANK_IDENTIFIER\":\"AKBANK\",\"BANK_ACCOUNT\":\"TR270004600171888000103527\",\"ROUTING_NUMBER\":[\"\"],\"IBAN_ACCOUNT\":[\"\"],\"BANK_SWIFT\":\"AKBKTRIS\",\"COUNTRY\":\"Turkey\",\"WIRE_RECIPIENT_NAME\":\"PayU Ödeme Kuruluşu AŞ\",\"WIRE_RECIPIENT_VAT_ID\":\"0550442060\"}"
}
]
}
}
Testing
Use the following PayU Turkey credentials to test your integration.
Credentials for testing Non-3D-Secure requests
Credential | Value |
---|---|
merchant_code | TRTEST |
secret_key | SECRET_KEY |
Credentials for testing 3D-Secure requests
Credential | Value |
---|---|
merchant_code | TRTEST3D |
secret_key | SECRET_KEY |
Test Cards
You can use the following PayU Turkey test cards for testing:
Card number | Expiration date | CVV | Card type |
---|---|---|---|
4355084355084358 | 12/19 | 000 | Akbank - VISA |
5571135571135575 | 12/19 | 000 | Akbank - Mastercard |
4531444531442283 | 12/19 | 001 | Halkbank - VISA |
5818775818772285 | 12/19 | 001 | Halkbank - Mastercard |
4022774022774026 | 12/19 | 000 | Finansbank - VISA |
5456165456165454 | 12/19 | 000 | Finansbank - Mastercard |
9792004525458548 | 12/19 | 000 | Troy card |