doTransaction

The following are examples of how you would need to set out your data when querying PayU's API with SOAP.

  1. API requests:
  2. API response:

Top

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>

Top

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>

Top

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>

 

Top

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>

Top

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>

 

Top

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>

Top

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>

Top

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>

Top

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>

Top

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>

Top

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>

Top

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>

Top

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>