Payments API V4 migration guide


The following guide will help you migrate from old Payments APIs to Payments API V4. We advise you to do so, as old versions won't be maintained anymore.

A list of all migration guides can be found here: Go to migration guides


Note: Everything colored with red was removed in API V4, while the new functionalities added in V4 are colored with green.

Endpoints

Endpoint HTTP method Deprecated V4
Create and authorize a payment POST order/alu/v3 api/v4/payments/authorize
Capture a payment POST order/idn.php api/v4/payments/capture
Refund a payment POST order/irn.php api/v4/payments/refund
Status of a payment GET order/ios.php api/v4/payments/status/:merchantPaymentReference


Authorize a payment endpoint

Request parameters mapping
V3 V4 Details
ORDER_REF merchantPaymentReference
PRICES_CURRENCY currency
BACK_REF returnUrl
PAY_METHOD authorization.paymentMethod
CC_NUMBER authorization.cardDetails.number
EXP_MONTH authorization.cardDetails.expiryMonth
EXP_YEAR authorization.cardDetails.expiryYear
CC_CVV authorization.cardDetails.cvv
CC_OWNER authorization.cardDetails.owner
CC_NUMBER_TIME authorization.cardDetails.timeSpentTypingNumber
CC_OWNER_TIME authorization.cardDetails.timeSpentTypingOwner
CC_TOKEN authorization.merchantToken.tokenHash
CC_CVV authorization.merchantToken.cvv
CC_OWNER authorization.merchantToken.owner
HOSTED_PAGE authorization.usePaymentPage
ORDER_TIMEOUT authorization.paymentPageOptions.orderTimeout
INSTALLMENTS_OPTIONS_PROGRAMS. authorization.installmentOptions.programName
INSTALLMENTS_OPTIONS_NUMBERS. authorization.installmentOptions.allowedInstallmentsNumbers
CREDIT_CNP authorization.credit.cnp
CREDIT_INCOME_SOURCE authorization.credit.sourceOfIncome
CREDIT_CUSTOMER_UUID authorization.credit.customerUUID
CREDIT_CUSTOMER_MASTER_UUID authorization.credit.customerMasterUUID
CREDIT_SCORING authorization.credit.scoring
CREDIT_LIMIT_AMOUNT. authorization.credit.limits.amount
CREDIT_LIMIT_CURRENCY. authorization.credit.limits.currency
CREDIT_PAYMENT_METHOD_LIMIT_AMOUNT authorization.credit.paymentMethodLimitAmount
CREDIT_UNCENSORED_SCORING authorization.credit.uncensoredScoring
CREDIT_NR_INSTALLMENTS authorization.credit.nrInstalments
CREDIT_NR_DAYS_DUE_DATE authorization.credit.nrDaysDueDate
APPLE_PAY_TOKEN authorization.applePayToken
GOOGLE_PAY_TOKEN authorization.googlePayToken
SELECTED_INSTALLMENTS_NUMBER authorization.installmentsNumber
USE_LOYALTY_POINTS authorization.useLoyaltyPoints
LOYALTY_POINTS_AMOUNT authorization.loyaltyPointsAmount
CAMPAIGN_TYPE authorization.campaignType
AUTHORIZATION_CURRENCY authorization.fx.currency
AUTHORIZATION_EXCHANGE_RATE authorization.fx.exchangeRate
BILL_FNAME client.billing.firstName
BILL_LNAME client.billing.lastName
BILL_EMAIL client.billing.email
BILL_PHONE client.billing.phone
BILL_CITY client.billing.city
BILL_STATE client.billing.state
BILL_COUNTRYCODE client.billing.countryCode
BILL_COMPANY client.billing.companyName
BILL_FISCALCODE client.billing.taxId
BILL_ADDRESS client.billing.addressLine1
BILL_ADDRESS2 client.billing.addressLine2
BILL_ZIPCODE client.billing.zipCode
BILL_CINUMBER client.billing.identityDocument.number
BILL_CITYPE client.billing.identityDocument.type
DELIVERY_FNAME client.delivery.firstName
DELIVERY_LNAME client.delivery.lastName
DELIVERY_PHONE client.delivery.phone
DELIVERY_ADDRESS client.delivery.addressLine1
DELIVERY_ADDRESS2 client.delivery.addressLine2
DELIVERY_ZIPCODE client.delivery.zipCode
DELIVERY_CITY client.delivery.city
DELIVERY_STATE client.delivery.state
DELIVERY_COUNTRYCODE client.delivery.countryCode
DELIVERY_EMAIL client.delivery.email
CLIENT_IP client.ip
CLIENT_TIME client.time
LANGUAGE client.communicationLanguage
ACQUIRER_MERCHANT_ID merchant.acquirerMerchantId
ORDER_PNAME. products.name
ORDER_PCODE. products.sku
ORDER_PINFO. products.additionalDetails
ORDER_PRICE. products.unitPrice
ORDER_QTY. products.quantity
ORDER_MARKETPLACE_PRODUCT_ID. products.marketplace.id
ORDER_MARKETPLACE_SELLER. products.marketplace.sellerId
ORDER_MARKETPLACE_COMMISSION_AMOUNT. products.marketplace.commissionAmount
ORDER_MARKETPLACE_COMMISSION_CURRENCY. products.marketplace.commissionCurrency
ORDER_MPLACE_MERCHANT. products.marketplace.merchantCode
ORDER_VAT. products.vat
AIRLINE_INFO.PASSENGER_NAME airlineInfo.passengerName
AIRLINE_INFO.TICKET_NUMBER airlineInfo.ticketNumber
AIRLINE_INFO.RESTRICTED_REFUND airlineInfo.refundPolicy
AIRLINE_INFO.RESERVATION_SYSTEM airlineInfo.reservationSystem
AIRLINE_INFO.TRAVEL_AGENCY_CODE airlineInfo.travelAgency.code
AIRLINE_INFO.TRAVEL_AGENCY_NAME airlineInfo.travelAgency.name
CC_3DSAUTH_ECI threeDSecure.mpiData.eci
CC_3DSAUTH_XID threeDSecure.mpiData.xid
CC_3DSAUTH_CAVV threeDSecure.mpiData.cavv
CC_3DSAUTH_VERSION threeDSecure.mpiData.version
CC_3DSAUTH_DS_TRANSACTION_ID threeDSecure.mpiData.dsTransactionId
HOME_PHONE_COUNTRY_PREFIX threeDSecure.strongCustomerAuthentication.cardholder.contact.phone.home.countryPrefix
HOME_PHONE_SUBSCRIBER threeDSecure.strongCustomerAuthentication.cardholder.contact.phone.home.subscriber
MOBILE_PHONE_COUNTRY_PREFIX threeDSecure.strongCustomerAuthentication.cardholder.contact.phone.mobile.countryPrefix
MOBILE_PHONE_SUBSCRIBER threeDSecure.strongCustomerAuthentication.cardholder.contact.phone.mobile.subscriber
WORK_PHONE_COUNTRY_PREFIX threeDSecure.strongCustomerAuthentication.cardholder.contact.phone.work.countryPrefix
WORK_PHONE_SUBSCRIBER threeDSecure.strongCustomerAuthentication.cardholder.contact.phone.work.subscriber
ADDRESS_MATCH threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.address.match
BILL_ADDRESS3 threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.address.billing.address3
BILL_STATE_CODE threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.address.billing.stateCode
DELIVERY_ADDRESS3 threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.address.delivery.address3
DELIVERY_STATE_CODE threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.address.delivery.stateCode
ACCOUNT_DELIVERY_ADDRESS_FIRST_USED_DATE threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.address.delivery.addressFirstUsedDate
ACCOUNT_DELIVERY_ADDRESS_USAGE_INDICATOR threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.address.delivery.addressUsageIndicator
CARDHOLDER_FRAUD_ACTIVITY threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.fraudActivity
ACCOUNT_CREATE_DATE threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.createDate
ACCOUNT_NUMBER_OF_TRANSACTIONS_LAST_YEAR threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.pastOrdersYear
ACCOUNT_NUMBER_OF_TRANSACTIONS_LAST_DAY threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.pastOrdersDay
ACCOUNT_NUMBER_OF_PURCHASES_LAST_SIX_MONTHS threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.purchasesLastSixMonths
ACCOUNT_CHANGE_DATE threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.changeDate
ACCOUNT_CHANGE_INDICATOR threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.changeIndicator
ACCOUNT_AGE_INDICATOR threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.ageIndicator
ACCOUNT_PASSWORD_CHANGED_DATE threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.passwordChangedDate
ACCOUNT_PASSWORD_CHANGED_INDICATOR threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.passwordChangeIndicator
ACCOUNT_NAME_TO_RECIPIENT_MATCH threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.nameToRecipientMatch
ACCOUNT_ADD_CARD_ATTEMPTS_DAY threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.addCardAttemptsDay
ACCOUNT_AUTH_METHOD threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.authMethod
ACCOUNT_AUTH_DATETIME threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.authDateTime
REQUESTOR_AUTHENTICATION_DATA threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.requestorAuthenticationData
ACCOUNT_ADDITIONAL_INFORMATION threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.additionalDetails
ACCOUNT_CARD_ADDED_INDICATOR threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.cardAddedIndicator
ACCOUNT_CARD_ADDED_DATE threeDSecure.strongCustomerAuthentication.cardholder.accountInformation.cardAddedDate
DEVICE_CHANNEL threeDSecure.strongCustomerAuthentication.clientEnvironment.deviceChannel
BROWSER_ACCEPT_HEADER threeDSecure.strongCustomerAuthentication.clientEnvironment.browser.acceptHeader
BROWSER_IP threeDSecure.strongCustomerAuthentication.clientEnvironment.browser.requestIp
BROWSER_JAVA_ENABLED threeDSecure.strongCustomerAuthentication.clientEnvironment.browser.javaEnabled
BROWSER_LANGUAGE threeDSecure.strongCustomerAuthentication.clientEnvironment.browser.language
BROWSER_COLOR_DEPTH threeDSecure.strongCustomerAuthentication.clientEnvironment.browser.colorDepth
BROWSER_SCREEN_HEIGHT threeDSecure.strongCustomerAuthentication.clientEnvironment.browser.screenHeight
BROWSER_SCREEN_WIDTH threeDSecure.strongCustomerAuthentication.clientEnvironment.browser.screenWidth
BROWSER_TIMEZONE threeDSecure.strongCustomerAuthentication.clientEnvironment.browser.timezone
BROWSER_USER_AGENT threeDSecure.strongCustomerAuthentication.clientEnvironment.browser.userAgent
SDK_REFERENCE_NUMBER threeDSecure.strongCustomerAuthentication.clientEnvironment.sdk.referenceNumber
SDK_MAXIMUM_TIMEOUT threeDSecure.strongCustomerAuthentication.clientEnvironment.sdk.maximumTimeout
SDK_APPLICATION_ID threeDSecure.strongCustomerAuthentication.clientEnvironment.sdk.appId
SDK_ENC_DATA threeDSecure.strongCustomerAuthentication.clientEnvironment.sdk.encData
SDK_TRANS_ID threeDSecure.strongCustomerAuthentication.clientEnvironment.sdk.transId
SDK_EPHEMERAL_PUB_KEY threeDSecure.strongCustomerAuthentication.clientEnvironment.sdk.ephemeralPubKey
SDK_UI_TYPE threeDSecure.strongCustomerAuthentication.clientEnvironment.sdk.uiType
SDK_INTERFACE threeDSecure.strongCustomerAuthentication.clientEnvironment.sdk.interface
RECURRING_FREQUENCY_DAYS threeDSecure.strongCustomerAuthentication.purchase.recurring.frequencyDays
RECURRING_EXPIRY_DATE threeDSecure.strongCustomerAuthentication.purchase.recurring.expiryDate
TRANSACTION_TYPE threeDSecure.strongCustomerAuthentication.purchase.transactionType
SHIPPING_INDICATOR threeDSecure.strongCustomerAuthentication.purchase.shipIndicator
PREORDER_INDICATOR threeDSecure.strongCustomerAuthentication.purchase.preOrderIndicator
PREORDER_DATE threeDSecure.strongCustomerAuthentication.purchase.preOrderDate
DELIVERY_TIME_FRAME threeDSecure.strongCustomerAuthentication.purchase.deliveryTimeFrame
REORDER_INDICATOR threeDSecure.strongCustomerAuthentication.purchase.reorderedIndicator
MERCHANT_FUNDS_AMOUNT threeDSecure.strongCustomerAuthentication.purchase.merchantFunds.amount
MERCHANT_FUNDS_CURRENCY threeDSecure.strongCustomerAuthentication.purchase.merchantFunds.currency
CHALLENGE_INDICATOR threeDSecure.strongCustomerAuthentication.threeDSRequestorPreferences.challenge.indicator
CHALLENGE_WINDOW_SIZE threeDSecure.strongCustomerAuthentication.threeDSRequestorPreferences.challenge.ui.windowSize
STORED_CREDENTIALS_CONSENT_TYPE storedCredentials.consentType
STORED_CREDENTIALS_USE_TYPE storedCredentials.useType
STORED_CREDENTIALS_USE_ID storedCredentials.useId
additionalDetails
MERCHANT it was moved in X-Header-Merchant, see authentication section
ORDER_DATE it was moved in X-Header-Date header (date format changed), see authentication section
ORDER_HASH it was moved in X-Header-Signature header; however signature is calculated differently, see authentication section
CARD_PROGRAM_NAME
LU_ENABLE_TOKEN Token can't be created using Payment API V4. You should use Token API V4 instead
LU_TOKEN_TYPE
STRONG_CUSTOMER_AUTHENTICATION It was used to mark a transaction as 3DS2.0. Now this is done by sending threeDSecure.strongCustomerAuthentication node. Check how to populate this node here
ORDER_PRICE_TYPE
ORDER_VER
ORDER_SHIPPING
BILL_FAX
DELIVERY_COMPANY

Response parameters mapping
V3 V4
REFNO payuPaymentReference
ORDER_REF merchantPaymentReference
AMOUNT amount
CURRENCY currency
RETURN_MESSAGE message
RETURN_CODE paymentResult.payuResponseCode
AUTH_CODE paymentResult.authCode
RRN paymentResult.rrn
INSTALLMENTS_NO paymentResult.installmentsNumber
CARD_PROGRAM_NAME paymentResult.cardProgramName
PAN paymentResult.cardDetails.pan
EXPYEAR paymentResult.cardDetails.expiryYear
EXPMONTH paymentResult.cardDetails.expiryMonth
MDSTATUS paymentResult.3dsDetails.mdStatus
MDERRORMSG paymentResult.3dsDetails.errorMessage
TXSTATUS paymentResult.3dsDetails.txStatus
XID paymentResult.3dsDetails.xid
ECI paymentResult.3dsDetails.eci
CAVV paymentResult.3dsDetails.cavv
CLIENTID paymentResult.bankResponseDetails.terminalId
PROCRETURNCODE paymentResult.bankResponseDetails.response.code
ERRORMESSAGE paymentResult.bankResponseDetails.response.message
RESPONSE paymentResult.bankResponseDetails.response.status
HOSTREFNUM paymentResult.bankResponseDetails.hostRefNum
BANK_MERCHANT_ID paymentResult.bankResponseDetails.merchantId
TERMINAL_BANK paymentResult.bankResponseDetails.shortName
TX_REFNO paymentResult.bankResponseDetails.txRefNo
CUSTOM_BANK_NODE paymentResult.bankResponseDetails.customBankNode
OID paymentResult.bankResponseDetails.oid
TRANSID paymentResult.bankResponseDetails.transId
WIRE_ACCOUNTS wireData
URL_3DS paymentResult.url
URL_REDIRECT paymentResult.url
STATUS
authorization


Capture a payment endpoint

Request parameters mapping
Deprecated V4 Details
ORDER_REF payuPaymentReference
ORDER_AMOUNT originalAmount
ORDER_CURRENCY currency
INSTALLMENTS_RETURN_AMOUNT installmentsAmount
PRODUCTS_SKU products.sku
PRODUCTS_AMOUNT products.amount
GLOBAL_MARKETPLACE_ID products.marketplace.id
GLOBAL_MARKETPLACE_SELLER_CODE products.marketplace.sellerId
GLOBAL_MARKETPLACE_COMMISSION_AMOUNT products.marketplace.commissionAmount
GLOBAL_MARKETPLACE_CURRENCY products.marketplace.commissionCurrency
IDN_DATE it was moved in X-Header-Date, see authentication section
CHARGE_AMOUNT
REF_URL
MERCHANT it was moved in X-Header-Merchant, see authentication section
ORDER_HASH it was moved in X-Header-Signature header, see authentication section

Response parameters mapping
Deprecated V4
<EPAYMENT> ORDER_REF|RESPONSE_CODE|RESPONSE_MSG|IRN_DATE|ORDER_HASH </EPAYMENT>
payuPaymentReference
code
message
status


Refund/Reverse endpoint

Request parameters mapping
Deprecated V4 Details
ORDER_REF payuPaymentReference
ORDER_AMOUNT originalAmount
AMOUNT amount
INSTALLMENTS_RETURN_AMOUNT installmentsAmount
ORDER_CURRENCY currency
MERCHANT_REFUND_REFERENCE merchantRefundReference
LOYALTY_POINTS_JSON_AMOUNT loyalty.amount
LOYALTY_POINTS_JSON_TYPE loyalty.type
USE_FAST_REFUND useFastRefund
PRODUCTS_SKU products.sku
PRODUCTS_AMOUNT products.amount
GLOBAL_MARKETPLACE_ID products.marketplace.id
GLOBAL_MARKETPLACE_SELLER_CODE products.marketplace.sellerId
GLOBAL_MARKETPLACE_COMMISSION_AMOUNT products.marketplace.commissionAmount
GLOBAL_MARKETPLACE_CURRENCY products.marketplace.commissionCurrency
ORDER_MPLACE_MERCHANT marketplaceV1.merchant
ORDER_MPLACE_AMOUNT marketplaceV1.amount
MERCHANT it was moved in X-Header-Merchant, see authentication section
ORDER_HASH it was moved in X-Header-Signature header, see authentication section
IRN_DATE it was moved in X-Header-Date, see authentication section
LOYALTY_POINTS_AMOUNT

Response parameters mapping
Deprecated V4
<EPAYMENT>ORDER_REF|RESPONSE_CODE|RESPONSE_MSG|IRN_DATE|REFUND_REQUEST_ID|ORDER_HASH</EPAYMENT>
payuPaymentReference
code
message
status
refundRequestId


Status of a payment endpoint

Request parameters mapping
Deprecated V4 Details
REFNOEXT refNoExt
MERCHANT it was moved in X-Header-Merchant, see authentication section
HASH it was moved in X-Header-Signature header, see authentication section
merchantPaymentReference

Response parameters mapping
Deprecated V4
REFNO payuPaymentReference
ORDERSTATUS paymentStatus
ORDER_DATE authorizations.timestamp
PAYMETHOD
ORDER_HASH
REFNOEXT
authorizations.cardDetails.cardScheme
authorizations.cardDetails.cardType
authorizations.cardDetails.issuerBank
authorizations.cardDetails.issuerCountryCode
authorizations.cardDetails.cardProfile
authorizations.cardDetails.lastFourDigits
authorizations.cardDetails.binNumber
authorizations.storedCredentials.useId
code
message


Authentication

Deprecated V4
Can be done in two ways:
  • Header authentication: Authorization and X-timestamp headers
  • Request parameter authentication: merchant, timestamp and signature parameters
The signature is passed in the requests X-Header-Signature header, that has to be sent together with X-Header-Date and X-Header-Merchant headers. Read more about how its calculated here