doTransaction (Enterprise API)
------------------------------------------------------------------------------
A doTransaction can be done to initiate any of the following processes:
- RESERVE
- RESERVE_CANCEL
- PAYMENT
- FINALIZE
- CREDIT
- RESERVE_RECURRING
- RESERVE_RECURRING_CANCEL
- PAYMENT_RECURRING
- FINALIZE_RECURRING
- CREDIT_RECURRING
Recurring transactions see section on real-time recurring business rules.
Request Parameters
...
Parameter Name
...
Description
...
Data type
...
DoTransactionRequest
...
Api
...
Version of the API. Current Version: 1.0
...
VarChar(4)
...
Safekey
...
PayU Merchant Identifier. Provided to merchant upon integration
...
Char(38)
...
TransactionType
...
The type of transaction being performed
RESERVE
RESERVE_CANCEL
PAYMENT
FINALIZE
CREDIT
RESERVE_RECURRING
RESERVE_RECURRING_CANCEL
PAYMENT_RECURRING
FINALIZE_RECURRING
CREDIT_RECURRING
...
String
...
AuthenticationType
...
The method of authentication used if a payment is being made that requires a user’s permission
NA
HANDSHAKE
TOKEN * (2nd call and subsequent calls)
...
String
...
storePaymentMethod
...
Indicates if PayU must save this card and provide the merchant with a token to use for subsequent payments for the customer - True or False * (Only required for the first call, do not resend on subsequent calls for the customer)
...
...
Additional Information
...
MerchantReference
...
Unique merchant identifier for transaction
...
VarChar (64)
...
PayUReference
...
PayU unique reference number for transaction
...
VarChar(24)
...
DemoMode
...
To determine if the API request should be handled as a demo transaction Values: True/False
...
Boolean
...
NotificationURL
...
URL where the merchant would like to be notified of transaction result via IPN (Instant Payment Notification).
...
String
...
Basket
...
Description
...
Basket description that will show on PayU
...
VarChar (64)
...
AmountInCents
...
Total amount of the basket in cents. Format as 1000 for R10.00
...
Integer
...
CurrencyCode
...
Currency code defined by PayU. Example: ZAR
...
VarChar(2)
...
Customer
...
FirstName
...
Customer first name
...
VarChar (64)
...
LastName
...
Customer last name
...
VarChar (64)
...
RegionalId
...
Regional identifier for customer such as RSA ID
...
String
...
Mobile
...
Customer Mobile Number in international format without +( eg 27827891248)
...
String
...
...
Customer Email Address
...
VarChar (64)
...
MerchantUserId
...
*Unique Customer ID in merchant system (Required for Token payment)
...
VarChar (64)
...
DOB
...
Customer Date of Birth. Format 1970-07-30
...
VarChar (10)
...
Payment Methods – Credit Card (No handshake)
...
CardNumber
...
The credit card number that appears on the credit card
...
VarChar(24)
...
CardExpiry
...
The expiry month and year of the credit card. Format required: 042002 where the first two digits represents the month and the last four represents the year in the following format MMYYYY. For recurring transactions see here.
...
VarChar(6)
...
CVV
...
The credit card CVV number. Maximum length is 4 and the numbers must be positive integer. For recurring transactions see here.
...
VarChar(4)
...
NameOnCard
...
The full names that appears on the credit card, e.g. John Doe
...
VarChar(64)
...
BudgetPeriod
...
The budget term of payment. This indicates whether buyer wishes to pay once off, or spread the period of payment over several months. The period of payment starts at 0 (once off payment), 6 months, 12 months etc. Maximum 60 months
...
Integer
...
AmountInCents
...
Amount in cents for payment method. Format as 1000 for R10.00
...
Integer
...
Payment Methods – Credit Card (with handshake/token authentication)
...
pmID
...
The time-expired unique reference for the payment method of the user
...
VarChar (64)
...
CVV
...
The credit card CVV number. Maximum length is 4 and the numbers must be positive integer
...
VarChar(4)
...
AmountInCents
...
Amount in cents for payment method. Format as 1000 for R10.00
...
Integer
...
Payment Methods - EFT
...
BankName
...
Name of the bank the customer is paying into
...
VarChar (64)
...
Payment Methods - Loyalty
...
Information
...
Payment method name (example: Loyalty program name)
...
VarChar (64)
...
MembershipNumber
...
Membership number of a loyalty scheme
...
VarChar (64)
...
AmountInCents
...
Amount in cents for payment method. Format as 1000 for R10.00
...
Integer
...
Payment Methods – PayU Wallet (with handshake/token authentication)
...
pmID
...
The token obtained for the user from the LookupTransaction (PAYMENT_METHODS) call.
...
VarChar (64)
...
AmountInCents
...
The value of the transaction. Set to zero if you wish to only accept loyalty as payment
...
Integer
...
LoyaltyAmountInCents
...
The value of the transaction that may be paid for using loyalty
...
Integer
...
Custom Fields
...
Key
...
Identification for custom field
...
VarChar (64)
...
Value
...
Value for custom field
...
VarChar (64)
Required Fields for Request
...
...
RESERVE
...
RESERVE_CANCEL
...
PAYMENT
...
FINALIZE
...
CREDIT
...
DoTransaction Request
...
Api
...
Y
...
Y
...
Y
...
Y
...
Y
...
Safekey
...
Y
...
Y
...
Y
...
Y
...
Y
...
TransactionType
...
Y
...
Y
...
Y
...
Y
...
Y
...
AuthenticationType
...
N(3)
...
N
...
N(3)
...
N
...
N
...
storePaymentMethod
...
N
...
N
...
N(4)
...
N
...
N
...
Additional Information
...
MerchantReference
...
Y
...
Y
...
Y
...
Y
...
Y
...
PayUReference
...
NA
...
Y
...
NA
...
Y
...
Y
...
DemoMode
...
N
...
NA
...
N
...
NA
...
NA
...
NotificationURL
...
N
...
N
...
N
...
N
...
N
...
Basket
...
Description
...
Y
...
NA
...
Y
...
NA
...
NA
...
AmountInCents
...
Y (1)
...
Y
...
Y(1)
...
Y (1,2)
...
Y (1,2)
...
CurrencyCode
...
Y
...
Y
...
Y
...
Y
...
Y
...
Customer
...
FirstName
...
N
...
N
...
N
...
N
...
N
...
LastName
...
N
...
N
...
N
...
N
...
N
...
RegionalId
...
N
...
N
...
N
...
N
...
N
...
Mobile
...
N
...
N
...
N
...
N
...
N
...
...
N
...
N
...
N
...
N
...
N
...
MerchantUserId
...
N
...
N
...
N(4)
...
N
...
N
...
DOB
...
N
...
N
...
N
...
N
...
N
...
Payment Methods – Loyalty
...
Information
...
NA
...
NA
...
NA
...
Y
...
NA
...
MermbershipNumber
...
NA
...
NA
...
NA
...
Y
...
NA
...
AmountInCents
...
NA
...
NA
...
NA
...
Y
...
NA
...
Payment Methods - Credit Card
...
CardNumber
...
Y
...
NA
...
Y
...
NA
...
NA
...
CardExpiry
...
Y
...
NA
...
Y
...
NA
...
NA
...
CVV
...
Y
...
NA
...
Y
...
NA
...
NA
...
NameOnCard
...
Y
...
NA
...
Y
...
NA
...
NA
...
BudgetPeriod
...
N
...
NA
...
N
...
NA
...
NA
...
AmountInCents
...
Y
...
Y
...
Y
...
Y
...
Y
...
Custom Fields
...
Key
...
N
...
N
...
N
...
N
...
N
...
Value
...
N
...
N
...
N
...
N
...
N
...
Y - Mandatory
...
N - Optional
...
NA - Not Allowed
...
...
(1) Basket Amount must equal sum of PaymentMethod Amount's
...
(2) Amount must equal to or less than the original transaction amount
(3) Field is required to be set to HANDSHAKE if payment is being made with PayU wallet or stored credit card
(4) Field is required when doing a transaction with a TOKEN or to generate a TOKEN
...
...
Reason Code | Definitions / Master card international |
---|---|
01 | Requested transaction data Not received |
02 | Requested/Required item illegible or missing |
07 | Warning Bulletin file |
08 | Requested/Required authorization Not obtained |
12 | Account number Not on file |
31 | Transaction amount differs |
34 | Duplicate processing |
35 | Card not valid or Expired |
37 | No cardholder authorization |
40 | Fraudulent processing of transactions |
41 | Cancelled recurring transaction |
42 | Late presentment |
46 | Correct transaction Currency code not provided |
47 | Exceeds floor limit- Not authorized and fraudulent transaction |
49 | Questionable merchant activity |
50 | Credit Posted as a Purchase |
53 | Cardholder dispute – Defective/ Not as described |
55 | Non-receipt of Merchandise |
57 | Card-activated Telephone transaction |
59 | Services Not rendered |
60 | Credit not processed |
62 | Counterfeit transaction magnetic stripe POS fraud |
63 | Cardholder does not recognize – Potential fraud |
4870 | Chip Liability Shift |
Reason Codes | Definitions / Visa international and local banks |
---|---|
60 | Illegible fulfilment |
75 | Requested transaction data Not received |
79 | Requested transaction data Not received |
57 | Fraudulent multiple transactions |
62 | Chip liability Shift / Counterfeit transaction |
81 | Fraud – card Present environment ( Will request edc voucher) |
83 | Fraud – card Absent environment ( manual transactions, will request zip –zap voucher ) |
93 | Risk identification service |
70 | Card recovery bulletin |
71 | Declined authorization |
72 | No authorization |
73 | Expired card |
78 | Service code violation |
74 | Late Presentment |
76 | Incorrect currency or Transaction code or Domestic transaction processing violation |
77 | None –matching account number |
80 | Incorrect transaction amount or account number |
82 | Duplicate Processing |
84 | Unsigned slip |
86 | Paid by other means |
88 | Split sales |
89 | Unauthorised signature/ card not signed |
96 | Transaction exceeds limited amount |
41 | Cancelled recurring transaction |
53 | Not as described or Defective merchandise |
85 | Credit Not processed |
30 | Service not provided or merchandise not received |
90 | Non-receipt of cash ( ATM transaction ) |