doTransaction
The following are examples of how you would need to set out your data when querying PayU's API with SOAP.
- API requests:
- REQUEST - Credit Card request: PAYMENT or RESERVE
This is the default API response for either a PAYMENT or RESERVE API call using credit cards as a payment method. Please make sure that you understand the difference between a PAYMENT and RESERVE api calls. - REQUEST - Credit Card: PAYMENT or RESERVE (with Fraud enabled)
PayU's Fraud service is an optional paid-for service. If integrating and signed up for fraud, please make sure to include the sections Basket.productLineItem, Basket.shippingDetails and Fraud - REQUEST - eBucks: PAYMENT
- REQUEST - Credit Card with Handshake
- REQUEST - Crediting a transaction
- REQUEST - Credit Card request: PAYMENT or RESERVE
- API response:
- RESPONSE - Credit Card: PAYMENT or RESERVE
This is the default API response for either a PAYMENT or RESERVE API call using credit cards. - RESPONSE - Credit Card: PAYMENT or RESERVE (with 3D Secure enabled - card enrolled)
This is the default API response for either a PAYMENT or RESERVE API call using credit cards, but the store is 3D enabled. - RESPONSE - Credit Card: PAYMENT or RESERVE (with bank reference)
Merchant can request to have the the bank reference returned in the doTransaction API reponse (by default it is not returned) for credit card payments. If enabled it will send the bank reference in the customer field parameter. - RESPONSE - Credit Card: PAYMENT or RESERVE (with Fraud enabled - APPROVE)
This is the default API response for either a PAYMENT or RESERVE API call using credit cards, where Fraud is enabled and an APPROVE response was recieved from the Fraud service provider. - RESPONSE - Credit Card: PAYMENT or RESERVE (with Fraud enabled - CHALLENGE)
This is the default API response for either a PAYMENT or RESERVE API call using credit cards, where Fraud is enabled and a CHALLENGE response was recieved from the Fraud service provider. - RESPONSE - Credit Card: PAYMENT or RESERVE (with Fraud enabled - DENY)
This is the default API response for either a PAYMENT or RESERVE API call using credit cards, where Fraud is enabled and a DENY response was recieved from the Fraud service provider. - RESPONSE - eBucks: PAYMENT
This is the default API response for either a PAYMENT or RESERVE API call using eBucks - response_EFTPro_payment
This is the default API response for EFT Pro payment
- RESPONSE - Credit Card: PAYMENT or RESERVE
REQUEST - Credit Card request: PAYMENT or RESERVE
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.api.controller.web.payjar.com/" xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="SOAP-ENV"> <soapenv:Header> <wsse:Security SOAP-ENV:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:UsernameToken wsu:Id="UsernameToken-9" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:Username>~~~SOAP Username goes here~~~</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">~~~SOAP Password goes here~~~</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <soap:doTransaction xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <Api>ONE_ZERO</Api> <Safekey>~~~SAFEKEY goes here ~~~</Safekey> <TransactionType>~~~a value of PAYMENT or RESERVE~~~</TransactionType> <AdditionalInformation> <merchantReference>~~~Merchant ref goes here~~~</merchantReference> <notificationUrl>http://example.com/notification-page/</notificationUrl> </AdditionalInformation> <Customer> <countryCode>27</countryCode> <countryOfResidence>ZAR</countryOfResidence> <merchantUserId>0123465798</merchantUserId> <email>john.doe@example.com</email> <firstName>John</firstName> <lastName>Doe</lastName> <mobile>0827777777</mobile> <regionalId>5612124567897</regionalId> <ip>127.0.0.1</ip> </Customer> <Basket> <amountInCents>12000</amountInCents> <currencyCode>ZAR</currencyCode> <description>Fraud Basket</description> </Basket> <Creditcard> <amountInCents>12000</amountInCents> <cardExpiry>122014</cardExpiry> <cardNumber>4111120000005078</cardNumber> <cvv>123</cvv> <nameOnCard>Fred Fraud</nameOnCard> </Creditcard> </soap:doTransaction> </soapenv:Body> </soapenv:Envelope>
REQUEST - Credit Card: PAYMENT or RESERVE (with Fraud enabled)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.api.controller.web.payjar.com/" xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <wsse:Security SOAP-ENV:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:UsernameToken wsu:Id="UsernameToken-9" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:Username>~~~SOAP Username goes here~~~</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">~~~SOAP Password goes here~~~</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <soap:doTransaction xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <Api>ONE_ZERO</Api> <Safekey>~~~SAFEKEY goes here ~~~</Safekey> <TransactionType>~~~a value of PAYMENT or RESERVE~~~</TransactionType> <AdditionalInformation> <deviceId>TERM003</deviceId> <merchantReference>~~~Merchant ref goes here ~~~</merchantReference> <notificationUrl> http://example.com/notification-page/</notificationUrl> </AdditionalInformation> <Customer> <countryCode>27</countryCode> <countryOfResidence>ZAR</countryOfResidence> <merchantUserId>0123465798</merchantUserId> <email>john.doe@example.com</email> <firstName>John</firstName> <lastName> Doe </lastName> <mobile>0827777777</mobile> <regionalId>5612124567897</regionalId> <ip>127.0.0.1</ip> </Customer> <Basket> <amountInCents>12000</amountInCents> <currencyCode>ZAR</currencyCode> <description>Fraud Basket</description> <!--Zero or more repetitions:--> <productLineItem> <amount>10000</amount> <costAmount>1000</costAmount> <description>Product 1</description> <giftMessage>Happy Birthday</giftMessage> <productCode>ABC0002</productCode> <quantity>1</quantity> <recipientAddress1>21 Example Road</recipientAddress1> <recipientCity>Cape Town</recipientCity> <recipientCountryCode>ZAR</recipientCountryCode> <recipientPostalCode>8000</recipientPostalCode> <recipientFirstName>John</recipientFirstName> <recipientLastName>Doe</recipientLastName> </productLineItem> <shippingDetails> <shippingAddress1>21 Example Road</shippingAddress1> <shippingAddressCity>Cape Town </shippingAddressCity> <shippingEmail> john.doe@example.com </shippingEmail> <shippingCountryCode>ZAR</shippingCountryCode> <shippingStateCode>WC</shippingStateCode> <shippingMethod>P</shippingMethod> <shppingFirstName>John</shppingFirstName> <shippingLastName>Doe</shippingLastName> <shippingFax>27214688020</shippingFax>shippingFax> <shippingPhone>27214688021</shippingPhone> </shippingDetails> </Basket> <Fraud> <checkFraudOverride>false</checkFraudOverride> <merchantWebSite>http://www.example.com/ </merchantWebSite> <pcFingerPrint>owhjiflkwhefqwoaef</pcFingerPrint> </Fraud> <Creditcard> <amountInCents>12000</amountInCents> <cardExpiry>122014</cardExpiry> <cardNumber>4111120000005078</cardNumber> <cvv>123</cvv> <nameOnCard>Fred Fraud</nameOnCard> <verified/> </Creditcard> </soap:doTransaction> </soapenv:Body> </soapenv:Envelope>
REQUEST - Credit Card with Handshake
<DoTransaction Api=�1.0� Safekey=�{86903CCB-79A9-42EE-8637-1ACE90185507}� TransactionType=�PAYMENT� AuthenticationType=�HANDSHAKE�> <AdditionalInformation> <merchantReference>CJR001</merchantReference> </AdditionalInformation> <Customer> <mobile>27827891249</mobile> </Customer> <Basket> <amountInCents>1000</amountInCents> <currencyCode>ZAR</currencyCode> <description>ORD111</description> </Basket> <PaymentMethods> <CreditCard pmID="jh23d29832jhdo23hu" CVV=�123� AmountInCents="2300" /> </PaymentMethods> </DoTransaction>
REQUEST - eBucks (PAYMENT)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.api.controller.web.payjar.com/" xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="SOAP-ENV"> <soapenv:Body> <soap:doTransaction xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <Api>ONE_ZERO</Api> <Safekey>{00000000-0000-0000-0000-000000000000}</Safekey> <TransactionType>PAYMENT/RESERVE</TransactionType> <AdditionalInformation> <merchantReference>1234567890</merchantReference> </AdditionalInformation> <Customer> <countryCode>27</countryCode> <countryOfResidence>ZAR</countryOfResidence> <merchantUserId>0123465798</merchantUserId> <email>john.doe@example.com</email> <firstName>John</firstName> <lastName>Doe</lastName> <mobile>0827777777</mobile> <regionalId>5612124567897</regionalId> </Customer> <Basket> <amountInCents>12000</amountInCents> <!-- amount in zar cents --> <currencyCode>ZAR</currencyCode> </Basket> <Ebucks> <amountInCents>12000</amountInCents> <!-- amount in eBucks cents (EB * 10) --> </Ebucks> <Customfield> <key>ebucksOtp</key> <value>909059</value> </Customfield> <Customfield> <key>ebucksAccountNumber</key> <value>80000278865</value> </Customfield> </soap:doTransaction> </soapenv:Body> </soapenv:Envelope>
REQUEST - Crediting a transaction
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.api.controller.web.payjar.com/" xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <wsse:Security SOAP-ENV:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:UsernameToken wsu:Id="UsernameToken-9" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:Username>~~~SOAP Username goes here~~~</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">~~~SOAP Password goes here~~~</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <soap:doTransaction xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <Api>ONE_ZERO</Api> <Safekey>~~~SAFEKEY goes here ~~~</Safekey> <TransactionType>CREDIT</TransactionType> <AdditionalInformation> <merchantReference>~~~Merchant ref goes here ~~~</merchantReference> <payUReference>~~~PayU ref goes here ~~~</payUReference> </AdditionalInformation> <Basket> <amountInCents>1000</amountInCents> <currencyCode>ZAR</currencyCode> </Basket> </soap:doTransaction> </soapenv:Body> </soapenv:Envelope>
RESPONSE - Credit Card: PAYMENT or RESERVE
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:doTransactionResponse xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <return> <resultCode>00</resultCode> <resultMessage>Successful</resultMessage> <successful>true</successful> <displayMessage>Successful</displayMessage> <merchantReference>1234567890</merchantReference> <payUReference>21976214819</payUReference> <paymentMethodsUsed xsi:type="ns2:creditCard" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <amountInCents>1000</amountInCents> <cardExpiry>122015</cardExpiry> <cardNumber>400000******1000</cardNumber> <gatewayReference>37149772</gatewayReference> <information>VISA</information> <nameOnCard>John Doe</nameOnCard> </paymentMethodsUsed> </return> </ns2:doTransactionResponse> </soap:Body> </soap:Envelope>
RESPONSE - Credit Card: PAYMENT or RESERVE (with 3D Secure enabled - card enrolled)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:doTransactionResponse xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <return> <displayMessage>Transaction Pending 3DS Completion</displayMessage> <fraud> <resultCode>V030</resultCode> <resultMessage>Success</resultMessage> </fraud> <merchantReference>0123456789</merchantReference> <payUReference>31982857915</payUReference> <paymentMethodsUsed xsi:type="ns2:creditCard" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <amountInCents>350</amountInCents> <cardExpiry>092014</cardExpiry> <cardNumber>456546******6016</cardNumber> <gatewayReference>37117846</gatewayReference> <information>VISA</information> <nameOnCard>Jon Doe </nameOnCard> </paymentMethodsUsed> <resultCode>P3DS</resultCode> <resultMessage>Transaction Pending 3DS Completion</resultMessage> <secure3D> <secure3DId>A5ufG1Q3sp3qGDxu5de3</secure3DId> <secure3DUrl><![CDATA[<form name="downloadForm" action="http://acstest.bankserv.co.za/V3DSStart?osb=visa-3&VAA=B" method="POST"> <table name="dataTable" border="0" cellpadding="0"> <INPUT TYPE="hidden" NAME="TransactionID" value="A5ufG1Q3sp3qGDxu5de3"> <INPUT TYPE="hidden" NAME="PaReq" value="eNpVUtty2jAQfddXeNLHzliWbWzCLJohgZSkTbik0yZ9E2IpLmCD5Av46ys5dtK+nbO7Wp2zu/B9qxDHzygLhRweUWvxG51kPbyanrP463K3Ci7ZTL zOskX5ebp5qR/Efje84jAfLfHEoUSlkyzlzPVcH2hHiWml5FakOQchTzf3TzzqhYHPgLaUwAHV/ZgzPwh7UdwH+sYJpOKA/EakO42qHG1UIoXTdQPaZAnIrEh zdeEx84B2hECh9nyb58cBpVVVuau2iysztxZAbZoA/dA2LyzSxvo5WfM48Ov56+IJy9XPu/GPSzkZf9Gnl9vq2+MQqK0gsBY5ct9jgdf3fIdFg9AbMGOriRMQ B6uFLwO3Z4S1jMDR/jN6Y4HN/BswbgqlMJWdnY4RwPMxS9HUmNm+YyMCteSZWqNyPjlBzFjcDyOjwYYJJKnOxX5v33TQmP6weju1S5G5mfadCPWsno pZdP0QqF/qz3GyQb+q88XEbqqpaVQkZrws9K4bGUkza2r70PYOaHs6Bv13Un8BvvXHsA=="> <INPUT TYPE="hidden" NAME="TermUrl" VALUE="http://staging.safeshop.co.za/s2s/Secure3D/Encode_Finish.asp"> <INPUT TYPE="hidden" NAME="MD" VALUE="37117846"> </table> <center><p><font type="Arial" size=2>Transfering to your bank for credit card authentication. <p> If you are not redirected please <a href="javascript:AutoSubmitForm()">click here</a> on the image to continue to access your banking institution.<p> <input type="image" src="http://staging.images.safeshop.co.za/PaymentMethods/Secure3D/VbyV_blue_120x69.gif" name="continue" value="Continue"></center> </form> <script language="Javascript"> <!-- function AutoSubmitForm() {document.downloadForm.submit(); } AutoSubmitForm(); //--></script>]]></secure3DUrl> </secure3D> <successful>true</successful> </return> </ns2:doTransactionResponse> </soap:Body> </soap:Envelope>
RESPONSE - Credit Card: PAYMENT or RESERVE (with bank reference)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:doTransactionResponse xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <return> <resultCode>00</resultCode> <resultMessage>Successful</resultMessage> <successful>true</successful> <displayMessage>Successful</displayMessage> <merchantReference>1234567890</merchantReference> <payUReference>21976214819</payUReference> <paymentMethodsUsed xsi:type="ns2:creditCard" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <amountInCents>1000</amountInCents> <cardExpiry>122015</cardExpiry> <cardNumber>400000******1000</cardNumber> <gatewayReference>37149772</gatewayReference> <information>VISA</information> <nameOnCard>John Doe</nameOnCard> </paymentMethodsUsed> <customFields> <key>bankReference</key> <value>DEMO12</value> </customFields> </return> Â </ns2:doTransactionResponse> </soap:Body> </soap:Envelope>
RESPONSE - Credit Card: PAYMENT or RESERVE (with Fraud enabled - APPROVE)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:doTransactionResponse xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <return> <displayMessage>Successful</displayMessage> <fraud> <resultCode>V030</resultCode> <resultMessage>Success</resultMessage> </fraud> <merchantReference>mercRef_1403097874</merchantReference> <payUReference>185871924286</payUReference> <paymentMethodsUsed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:creditCard"> <amountInCents>2156</amountInCents> <cardExpiry>012015</cardExpiry> <cardNumber>542028******1323</cardNumber> <gatewayReference>37585977</gatewayReference> <information>MASTERCARD</information> <nameOnCard>John Doe</nameOnCard> </paymentMethodsUsed> <resultCode>00</resultCode> <resultMessage>Successful</resultMessage> <successful>true</successful> </return> </ns2:doTransactionResponse> </soap:Body> </soap:Envelope>
RESPONSE - Credit Card: PAYMENT or RESERVE (with Fraud enabled - CHALLENGE)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:doTransactionResponse xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <return> <displayMessage>Successful</displayMessage> <fraud> <resultCode>V035</resultCode> <resultMessage>CHALLENGE - 0330</resultMessage> </fraud> <merchantReference>mercRef_1403098425</merchantReference> <payUReference>185878360665</payUReference> <paymentMethodsUsed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:creditCard"> <amountInCents>7215</amountInCents> <cardExpiry>012015</cardExpiry> <cardNumber>542028******1323</cardNumber> <gatewayReference>37585978</gatewayReference> <information>MASTERCARD</information> <nameOnCard>John Doe</nameOnCard> </paymentMethodsUsed> <resultCode>00</resultCode> <resultMessage>Successful</resultMessage> <successful>true</successful> </return> </ns2:doTransactionResponse> </soap:Body> </soap:Envelope>
RESPONSE - Credit Card: PAYMENT or RESERVE (with Fraud enabled - DENY)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:doTransactionResponse xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <return> <fraud> <resultCode>V039</resultCode> <resultMessage>DENY - 0700</resultMessage> </fraud> <merchantReference>mercRef_1403098545</merchantReference> <payUReference>185879181093</payUReference> <resultCode>P044</resultCode> <resultMessage>Rejected for fraud</resultMessage> <successful>false</successful> </return> </ns2:doTransactionResponse> </soap:Body> </soap:Envelope>
RESPONSE - eBucks (PAYMENT)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:doTransactionResponse xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <return> <resultCode>00</resultCode> <resultMessage>Successful</resultMessage> <successful>true</successful> <displayMessage>Successful</displayMessage> <merchantReference>1234567890</merchantReference> <payUReference>21976214819</payUReference> <paymentMethodsUsed xsi:type="ns2:ebucks" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <amountInCents>12000</amountInCents> </paymentMethodsUsed> </return> </ns2:doTransactionResponse> </soap:Body> </soap:Envelope>
RESPONSE - EFTPro payment
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:doTransactionResponse xmlns:ns2="http://soap.api.controller.web.payjar.com/"> <return> <merchantReference>EFT_PRO_98453984398</merchantReference> <payUReference>53390698880</payUReference> <paymentMethodsUsed xsi:type="ns2:eft" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <amountInCents>100</amountInCents> </paymentMethodsUsed> <redirect> <method>HTTP_GET</method> <type>EFT_PRO</type> <url>http://localhost:8080/PayJarWeb/redirectGet.do?PayUReference=53390698880</url> </redirect> <successful>true</successful> </return> </ns2:doTransactionResponse> </soap:Body> </soap:Envelope>