PayU Turkey

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 TypeNotes
American ExpressCardsContact your sales representative for activating transactions for American Express.
BKMBank Transfer
COMPAYBank Transfer
MAESTROCards
MASTERCARDCards
MIRCards
TroyCardsThis is a local card vendor.
UPTBank Transfer
VISACards
VISA ElectronCards
VISA PlusCards
WIREBank Transfer

Currencies

TRY, USD, EUR, RUB, GBP

Features

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

FeatureSupported
3DS Data from External MPINo
3DS RedirectionYes
InstallmentsYes
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/MultipleMode
AuthorizePartial and multiple are not supportedAsynchronous
Capture Partial is supportedAsynchronous
Refund Both partial and multiple are supportedAsynchronous
Void Not ApplicableAsynchronous
Supported requests for bank transfer transactions.
RequestPartial/MultipleModeNotes
AuthorizePartial and multiple are not supportedAsynchronousAfter 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.

ConfigurationRequired/Optional
In the PaymentsOS Control Center, configure the following credentials:
  • merchant_code: The merchant id in PayU Turkey.
  • secret_key: Secret key provided by PayU Turkey.
To see your PayU Turkey credentials, open your PayU administration page and choose Account Management > Account settings.
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:

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

results matching ""

    No results matching ""