PayU iyzico (via PaymentsOS) integration guide

PayU iyzico PayU iyzico via PaymentsOS Connection is a gateway that allows you to collect card payments. This guide is intended to help you implement PayU iyzico based on your preferred integration workflow.

Services and compatibility

Supported payment types
  • Card
Supported transaction types
  • Sale ( API )
  • Auth Only ( API )
  • Capture (partial or full) ( API )
  • Void ( API )
  • Refund (partial and multiple) ( API )
Supported processing currenciesSupport depends on card brand and billing country. For the specific currencies for a card brand, see the Currencies section of the "PayU iyzico" documentation.

The following is the complete list of currencies: CHF, EUR, GBP, NOK, RUB, TRY, USD
3D Secure 1.x supportedYes
3D Secure 2.x supportedNo
External 3D Secure supportedNo
Installments supportedYes

Gateway-specific information

PayU iyzico supports sale transactions as well as partial, multiple, or full refunds. Capture is only allowed up to 10% over the pre-authorized amount. Sale transactions can be made with a saved card token. PayU iyzico also supports paymentType.

You must support the customer redirect flow for PayU iyzico. For the 3D Secure workflow, see the 3D Secure overview documentation.

The following are not supported with PayU iyzico:

  • Multiple captures.
  • Using the full card number option for running a transaction (use a saved card token instead).

Configuration

Work with Integrations Support to add PayU iyzico as a connection. You will need the following credentials from PayU iyzico:

  • App Id
  • Public key
  • Private key

You also need to work with Integrations Support to configure PaymentsOS webhooks for your account.

Setting up PaymentsOS webhooks

PaymentsOS uses webhooks to notify Nexio of any new payments as well as any changes to those payments. To create a webhook, you need to configure a Business Unit and a Provider.

To create a Provider in PaymentsOS, do the following:

  1. Log into the dashboard (https://control.paymentsos.com/login).
  2. Go to Account > Providers (in the left menu).
  3. Scroll down, until you get to the "Create a new Provider configuration" section of the page and select the desired Provider.
  4. Provide the needed values for the configuration (typically obtained from the Provider directly).

To create a Business Unit in PaymentsOS, do the following:

  1. Log into the dashboard (https://control.paymentsos.com/login).
  2. Go to Account > Business Units (in the left menu).
  3. Click the Create Business Unit button.
  4. Provide a Name for the new Business Unit.
  5. Select the appropriate default Provider (see the previous set of steps).
  6. Click the Create button.

To create a Webhook in PaymentsOS, do the following:

  1. Log into the dashboard (https://control.paymentsos.com/login).
  2. Go to Account > Business Units (in the left menu).
  3. Click the Create a Webhook Endpoint button.
  4. For the webhook URL, provide a value in the following form:
    api.nexiopay<env>.com/gateway/v3/update/<merchant-ID>/<gateway-number>
    Where you replace <env> with the environment such as sandbox or nothing (for production), replace <merchant-ID> with the merchant account ID (MID), and replace <gateway-number> with the gateway number for the connection (155 for PayU Asia Pacific or 158 for PayU iyzico). For example, to add a webhook for the merchant account, 100111, in sandbox to receive PayU iyzico transaction updates set the URL to api.nexiopaysandbox.com/gateway/v3/update/100111/158.
  5. Turn on Create and Update alerts for the following events (all events up-to and including Credit):
    • Payment
    • Authorization
    • Capture
    • Charge
    • Refund
    • Void
    • Credit
  6. Add the business unit(s) associated with the Provider for the gateway (specified in the URL) to the Associated Business Units drop-down.

Required fields

In addition to the default required field of data.amount, PayU iyzico requires the following fields to process a transaction with the Run card transaction or Run card transaction with iframe endpoint.

For many of the fields, when included in the Create one-time-use token, Save card token, or Save card token with iframe endpoint. the field is stored in the card token and automatically gets sent with the Run card transaction request without needing to explicitly specify it. For more information about this possibility, see the What data is saved with tokens? topic.

Required FieldDescription
data.amountThe transaction amount. This must be more than zero.
data.currencyThe three-character ISO currency code for the transaction. Supported currencies depend on card brand. For the specific currencies for a card brand, see the Currencies section of the "PayU iyzico" documentation..

The following is the complete list of currencies: CHF, EUR, GBP, NOK, RUB, TRY, USD

If you do not include this parameter, the system uses the default of USD. Therefore, if your merchant account does not support USD, you will get an error response.
data.customer.billToCountryThe two-character (Alpha-2) ISO country code.
data.customer.shipToCountryThe two-character (Alpha-2) ISO shipping country code.
processingOptions.paymentTypeA payment type indicates the type of transaction being processed using stored payment credentials. This field is requires in order to properly flag initial and subsequent transactions.

For more information about this parameter and when to use each option, see the Payment type (paymentType) reference table.

Testing data

Use the following test card information to test your PayU iyzico configuration. For more information about testing, see Testing for PayU iyzico on the PaymentsOS website.

BrandCard numberExpiration dateSecurity codeCardholder nameTransaction result
American Express374427000000003Any4 digitsAnySuccess.
Mastercard5526080000000006Any3 digitsAnySuccess.
Visa4603450000000000Any3 digitsAnySuccess
Visa4111111111111129Any3 digitsAnyInsufficient funds.
Visa4129111111111111Any3 digitsAnyDo not honor.
Visa4125111111111115Any3 digitsAnyExpired card
Visa4151111111111112Any3 digitsAny3DS initialize fail

Status workflows

The status of a successful transaction with PayU iyzico varies, depending on the options you choose.

SaleWhen isAuthOnly is false, successful sale transactions will have the following statuses:
  • pending* or authorized
  • settled
Auth onlyWhen isAuthOnly is true, successful sale transactions will have the following status:
  • authOnly
CaptureSuccessful capture transactions will have the following statuses:
  • pending* or authorized
  • settled
VoidSuccessful void transactions will have the following status:
  • voided
RefundSuccessful refund transactions will have the following statuses:
  • pending* or authorized
  • settled

*Pending status displays as "authorized" or "AUTHORIZED" in the Nexio Dashboard; it displays as 10, meaning "authorized", in the response when querying transactions (for more information about transactionStatus, see the appropriate transactionStatus table).

If you have any additional questions or feedback, contact us.