doTransaction (Enterprise API)
A doTransaction can be done to initiate any of the following processes:
RESERVE
RESERVE_CANCEL
PAYMENT
FINALIZE
CREDIT
Please note: No special characters are allowed in any of the API call parameters as downstream systems are unable to process them.
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 | 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) VCO | 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 | VarChar(6) | |
CVV | The credit card CVV number. Maximum length is 4 and the numbers must be positive integer | 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 – (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 | ||