PayU iyzico

Follow the standard PaymentsOS integration procedure, and then apply the relevant extra specifications in this section to integrate with PayU iyzico.

API Version

Minimum required API version: 1.3.0

Payment Methods

The following table lists all supported payment methods.

Payment MethodPayment Method TypeNotes
American ExpressCards
Pay with iyzicoeWallet
TroyCardsThis is a local card vendor.



Payout currencies: EUR,GBP,TRY,USD


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

3DS 2.0 ExternalNo
3DS 2.0 PaymentsOS-handledNo
3DS 2.0 Provider-handledNo
3DS 2.0 Self-handledNo
Level 2 and 3 DataNo
Multi-seller PaymentsYes
Network TokensNo
Payment FacilitatorNo
PayU RiskNo
Retrieve Supported Payment MethodsNo
Retrieve Supported PlansYes
Statement Soft DescriptorNo
Stored Credentials FlagNo
Transaction Processing without CVVYes


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.
AuthorizePartial and multiple are not supportedSynchronous
Capture Partial is supportedSynchronous
Charge Not ApplicableSynchronous
Refund Both partial and multiple are supportedSynchronous
Void Both partial and multiple are supportedSynchronous
Supported requests for eWallet transactions.
Charge Not ApplicableAsynchronous
RefundPartial and multiple are not supportedSynchronous

Setup Procedures

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

In the PaymentsOS Control Center, configure the following credentials:
  • apiKey: The password name supplied by PayU iyzico
  • clientSecret: The client secret provided by PayU iyzico.

Integration Procedures

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

Enabling 3DS

If you want the user to complete a 3DS authentication step, then include a provider_specific_data object with an is3ds value of true in your Create Charge API request.

"provider_specific_data": {
    "payuiyzico": {
      "additional_details": {
        "is3ds": "true"

Showing Customers Available Installment Options during Checkout

If you configured different installment plans in your PayU iyzico account, then you can fetch those plans and display the various installment options in your checkout page when a customer initiates the payment. To do so, call the Retrieve Supported Plans request. Make sure to pass the transaction amount and currency for which to fetch the available plans as query parameters.

The response of the Retrieve Supported Plans request will include for each plan the number of allowed installments and their corresponding fee (that is, the fee charged by the issuer). You then pass in installments.number_of_installments the number of installments allowed by the plan selected by the customer. Here’s an example:

  "installments": {
      "number_of_installments": 12

Errors in a Redirection Flow

In a redirection flow, customers finalize a transaction on a third-party site and are then directed back to your web page (the merchant_site_url) where you inform them of the status of their payment. Of course, there’s always a chance of an unexpected error (such as a provider communication timeout) in this process. If an error does occur, we’ll let you know about it by appending the type of error (api_error or provider_error) to the merchant_site_url. If available, we will also include the ID of the original payment request and related transaction request (action).

Here’s an example.



Test Cards

The following test cards can be used to simulate a successful payment:

Card Number Bank Card type
5890040000000016 Akbank Master Card (Debit)
5526080000000006 Akbank Master Card (Credit)
4766620000000001 Denizbank Visa (Debit)
4603450000000000 Denizbank Visa (Credit)
4987490000000002 Finansbank Visa (Debit)
5311570000000005 Finansbank Master Card (Credit)
9792020000000001 Finansbank Troy (Debit)
9792030000000000 Finansbank Troy (Credit)
5170410000000004 Garanti Bankası Master Card (Debit)
5400360000000003 Garanti Bankası Master Card (Credit)
374427000000003 Garanti Bankası American Express
4475050000000003 Halkbank Visa (Debit)
5528790000000008 Halkbank Master Card (Credit)
4059030000000009 HSBC Bank Visa (Debit)
5504720000000003 HSBC Bank Master Card (Credit)
5892830000000000 Türkiye İş Bankası Master Card (Debit)
4543590000000006 Türkiye İş Bankası Visa (Credit)
4910050000000006 Vakıfbank Visa (Debit)
4157920000000002 Vakıfbank Visa (Credit)
5168880000000002 Yapı ve Kredi Bankası Master Card (Debit)
5451030000000000 Yapı ve Kredi Bankası Master Card (Credit)

Cross border test cards:

Card Number Country
5400010000000004 Non-Turkish (Credit)
4054180000000007 Non-Turkish (Debit)

Test cards to get specific error codes:

Card Number Description
5406670000000009 Success but cannot be cancelled, refund or post auth
4111111111111129 Not sufficient funds
4129111111111111 Do not honour
4128111111111112 Invalid transaction
4125111111111115 Expired card
4124111111111116 Invalid cvc2
4123111111111117 Not permitted to card holder
4122111111111118 Not permitted to terminal
4121111111111119 Fraud suspect
Last modified February 3, 2022