Ozow Deposit
Ozow (former i-Pay) Deposit is a online bank transfer deposit payment method for South Africa.
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
297 | iPayDeposit | DepositedByProvider (29) |
Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).
Redirect Integration
Currently not supported.
Backend2BackendIntegration
The following parameters can be provided in initiatePaymentRequest.specificPaymentData:
key (value type, account type, required) | value |
---|---|
SuccessPageUrl (string, required) | The URL to redirect user in case of successful payment |
ErrorPageUrl (string, required) | The URL to redirect user in case of unsuccessful payment |
CancelPageUrl (string) | The URL to redirect user in case of cancellation |
Example initiatePaymentRequest:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<merchantID>B2BTestMerchant</merchantID>
<shopID>iPayDepositShop</shopID>
<merchantTransactionID>1230d997-b8a8-4881-9d83-b6de6f375169</merchantTransactionID>
<paymentMethodID>297</paymentMethodID>
<amount currencyCode="ZAR">150.67</amount>
<userID>061c601d-0f71-4277-bb66-86ba799b4233</userID>
<userData>
<username>061c601d-0f71-4277-bb66-86ba799b4233</username>
<address>
<countryCode2>ZA</countryCode2>
</address>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>594844eb-1b94-4217-aa62-d210426b1eb4</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>SuccessPageUrl</key>
<value>http://merchant.com/result?param1=success&a=b</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ErrorPageUrl</key>
<value>http://merchant.com/result?param1=error&c=d</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CancelPageUrl</key>
<value>http://merchant.com/result?param1=cancel&c=d</value>
</data>
</specificPaymentData>
</initiatePaymentRequest>
Example initiatePaymentResponse:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>IPayDepositShop</shopID>
<paymentMethod>
<key>297</key>
<value>iPayDeposit</value>
</paymentMethod>
<merchantTransactionID>1230d997-b8a8-4881-9d83-b6de6f375169</merchantTransactionID>
<paymentID>f18f59a8-6c20-43b8-aa1b-d987d78425f7</paymentID>
<userID>061c601d-0f71-4277-bb66-86ba799b4233</userID>
<paymentProvider>
<key>163</key>
<value>iPay</value>
</paymentProvider>
<amount currencyCode="ZAR">150.67</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>81d4437c-da5f-4e9b-9422-eb5548d4ffdd</id>
<definition>
<key>287</key>
<value>RedirectDataCreated</value>
</definition>
<createdOn>2018-01-11T17:08:12.3390819Z</createdOn>
<description>http://dev.backend.cqrpayments.com/WebMockProviders/IPayFrontend/Payment
SiteCode='TSTSTE0001'
CountryCode='ZA'
CurrencyCode='ZAR'
Amount='150.67'
TransactionReference='95'
BankReference='95'
CancelUrl='http://merchant.com/result?param1=cancel&c=d'
ErrorUrl='http://merchant.com/result?param1=error&c=d'
SuccessUrl='http://merchant.com/result?param1=success&a=b'
NotifyUrl='http://dev.backend.cqrpayments.com/ProviderListeners/IPay/Notification'
IsTest='False'
HashCheck='87f4dad9392bc4b6285f5470e17ce079fa3eedd60e144804f95fa3e8aa110fc10202b8fd0c65295979cbcf76a0cce90bbbaeefc1406d9b3e66a8e4d05dcae80c'
</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>http://dev.backend.cqrpayments.com/WebMockProviders/IPayFrontend/Payment</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataSiteCode</key>
<value>TSTSTE0001</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataCountryCode</key>
<value>ZA</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataCurrencyCode</key>
<value>ZAR</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataAmount</key>
<value>150.67</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataTransactionReference</key>
<value>95</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataBankReference</key>
<value>95</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataCancelUrl</key>
<value>http://merchant.com/result?param1=cancel&c=d</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataErrorUrl</key>
<value>http://merchant.com/result?param1=error&c=d</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataSuccessUrl</key>
<value>http://merchant.com/result?param1=success&a=b</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataNotifyUrl</key>
<value>http://dev.backend.cqrpayments.com/ProviderListeners/IPay/Notification</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataIsTest</key>
<value>False</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataHashCheck</key>
<value>87f4dad9392bc4b6285f5470e17ce079fa3eedd60e144804f95fa3e8aa110fc10202b8fd0c65295979cbcf76a0cce90bbbaeefc1406d9b3e66a8e4d05dcae80c</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataKeys</key>
<value>SiteCode,CountryCode,CurrencyCode,Amount,TransactionReference,BankReference,CancelUrl,ErrorUrl,SuccessUrl,NotifyUrl,IsTest,HashCheck</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">15.07</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>95</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Possible payment states in initiatePaymentResponse:
Payment States | Description |
---|---|
RedirectDataCreated (287) | OK state; Redirect data created. |
DuplicatePaymentValidationFailed (369) | The payment with same merchantTransactionID already exists. |
After the redirect to i-Pay, PXP Financial receives a notification from provider and sends an notification to merchant.
Tokenization flow
If the tokenization flow is activated, additional data is passed to Ozow to initiate the payment.
initiatePaymentRequest (when no token is yet created or after a previous token has been deleted):
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<merchantID>B2BTestMerchant</merchantID>
<shopID>iPayDepositShop</shopID>
<merchantTransactionID>fd67eb6b-2c11-498e-9b64-187532a7e278</merchantTransactionID>
<paymentMethodID>297</paymentMethodID>
<amount currencyCode="ZAR">150.67</amount>
<userID>184a25ab-49e4-4997-ab4b-388da8cd5070</userID>
<userData>
<username>184a25ab-49e4-4997-ab4b-388da8cd5070</username>
<firstname xsi:nil="true" />
<lastname xsi:nil="true" />
<currencyCode xsi:nil="true" />
<languageCode xsi:nil="true" />
<email xsi:nil="true" />
<address>
<street xsi:nil="true" />
<houseName xsi:nil="true" />
<houseNumber xsi:nil="true" />
<houseNumberExtension xsi:nil="true" />
<postalCode xsi:nil="true" />
<city xsi:nil="true" />
<state xsi:nil="true" />
<countryCode2>ZA</countryCode2>
<telephoneNumber xsi:nil="true" />
</address>
<identificationNumberType xsi:nil="true" />
<drivingLicenseNumber xsi:nil="true" />
<drivingLicenseIssuingState xsi:nil="true" />
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>069dd085-92a2-43f3-9fb5-d7b5ec32d396</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>SuccessPageUrl</key>
<value>http://merchant.com/result?param1=success&a=b</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ErrorPageUrl</key>
<value>http://merchant.com/result?param1=error&c=d</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CancelPageUrl</key>
<value>http://merchant.com/result?param1=cancel&c=d</value>
</data>
</specificPaymentData>
</initiatePaymentRequest>
The POST data for the first Ozow Pay deposit will include the following additional details:
RegisterTokenProfile | The value RegisterTokenProfile will be set as 'True" |
TokenNotificationUrl | Listener URL at PXP to receive token data |
TokenDeletedNotificationUrl | Listener URL at PXP to receive delete token data |
initiatePaymentResponse:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>iPayDepositShop</shopID>
<paymentMethod>
<key>297</key>
<value>iPayDeposit</value>
</paymentMethod>
<merchantTransactionID>fd67eb6b-2c11-498e-9b64-187532a7e278</merchantTransactionID>
<paymentID>b9c013b6-18c3-46fc-84d0-185a30725a5d</paymentID>
<userID>184a25ab-49e4-4997-ab4b-388da8cd5070</userID>
<paymentProvider>
<key>163</key>
<value>iPay</value>
</paymentProvider>
<amount currencyCode="ZAR">150.67</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>17fd5c72-8890-460a-ab45-31f4cf805753</id>
<definition>
<key>287</key>
<value>RedirectDataCreated</value>
</definition>
<createdOn>2021-03-17T10:39:41.9637636Z</createdOn>
<description>https://api.test2.kalixa.com/WebMockProviders/IPayFrontend/Payment
SiteCode='TSTSTE0001'
CountryCode='ZA'
CurrencyCode='ZAR'
Amount='150.67'
TransactionReference='b9c013b6-18c3-46fc-84d0-185a30725a5d'
BankReference='fd67eb6b-2c11-498e-9'
CancelUrl='http://merchant.com/result?param1=cancel&c=d'
ErrorUrl='http://merchant.com/result?param1=error&c=d'
SuccessUrl='http://merchant.com/result?param1=success&a=b'
NotifyUrl='https://api.test2.kalixa.com/ProviderListeners/IPay/Notification'
IsTest='True'
HashCheck='c2aac16c98726fb624f3d430339da4c68883b8574b5dbeeffc488ca171b9ae39c5eeacdf67aa60badd7437c102f58f6a9980422c64071adea11fbcd6cef21fa5'
RegisterTokenProfile='True'
TokenNotificationUrl='https://api.test.kalixa.com/WebMockProviders/Proxy?url=https%3A//api.test2.kalixa.com/ProviderListeners/providers/163/notifications'
TokenDeletedNotificationUrl='https://api.test.kalixa.com/WebMockProviders/Proxy?url=https%3A//api.test2.kalixa.com/ProviderListeners/providers/163/notifications'
</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>https://api.test2.kalixa.com/WebMockProviders/IPayFrontend/Payment</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataSiteCode</key>
<value>TSTSTE0001</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataCountryCode</key>
<value>ZA</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataCurrencyCode</key>
<value>ZAR</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataAmount</key>
<value>150.67</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataTransactionReference</key>
<value>b9c013b6-18c3-46fc-84d0-185a30725a5d</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataBankReference</key>
<value>fd67eb6b-2c11-498e-9</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataCancelUrl</key>
<value>http://merchant.com/result?param1=cancel&c=d</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataErrorUrl</key>
<value>http://merchant.com/result?param1=error&c=d</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataSuccessUrl</key>
<value>http://merchant.com/result?param1=success&a=b</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataNotifyUrl</key>
<value>https://api.test2.kalixa.com/ProviderListeners/IPay/Notification</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataIsTest</key>
<value>True</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataHashCheck</key>
<value>c2aac16c98726fb624f3d430339da4c68883b8574b5dbeeffc488ca171b9ae39c5eeacdf67aa60badd7437c102f58f6a9980422c64071adea11fbcd6cef21fa5</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataRegisterTokenProfile</key>
<value>True</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataTokenNotificationUrl</key>
<value>https://api.test.kalixa.com/WebMockProviders/Proxy?url=https%3A//api.test2.kalixa.com/ProviderListeners/providers/163/notifications</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataTokenDeletedNotificationUrl</key>
<value>https://api.test.kalixa.com/WebMockProviders/Proxy?url=https%3A//api.test2.kalixa.com/ProviderListeners/providers/163/notifications</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataKeys</key>
<value>SiteCode,CountryCode,CurrencyCode,Amount,TransactionReference,BankReference,CancelUrl,ErrorUrl,SuccessUrl,NotifyUrl,IsTest,HashCheck,RegisterTokenProfile,TokenNotificationUrl,TokenDeletedNotificationUrl</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">11.4</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>b9c013b6-18c3-46fc-84d0-185a30725a5d</value>
</detail>
</paymentDetails>
</payment>
</initiatePaymentResponse>
Once the token has been created, on TokenProfileID and Token will be included in the next payment´s IniitatePaymentResponse.
InitiatePaymentRequest:
<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<merchantID>XXXX</merchantID>
<shopID>XXXX</shopID>
<merchantTransactionID>ProviderTesting_iPay_Try015</merchantTransactionID>
<paymentMethodID>297</paymentMethodID>
<amount currencyCode="ZAR">5.00</amount>
<userID>4fe41496-5d7b-465f-97c9-a1d1ffc19221</userID>
<userData>
<username>4fe41496-5d7b-465f-97c9-a1d1ffc19221</username>
<firstname xsi:nil="true" />
<lastname xsi:nil="true" />
<currencyCode xsi:nil="true" />
<languageCode xsi:nil="true" />
<email xsi:nil="true" />
<address>
<street xsi:nil="true" />
<houseName xsi:nil="true" />
<houseNumber xsi:nil="true" />
<houseNumberExtension xsi:nil="true" />
<postalCode xsi:nil="true" />
<city xsi:nil="true" />
<state xsi:nil="true" />
<countryCode2>ZA</countryCode2>
<telephoneNumber xsi:nil="true" />
</address>
<identificationNumberType xsi:nil="true" />
<drivingLicenseNumber xsi:nil="true" />
<drivingLicenseIssuingState xsi:nil="true" />
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>04d2b51e-cad2-4a37-bc2c-285d238dc5c0</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>SuccessPageUrl</key>
<value>http://sample.com?result=success</value>
</data>
<data xsi:type="keyStringValuePair">
<key>ErrorPageUrl</key>
<value>http://sample.com?result=error</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CancelPageUrl</key>
<value>http://sample.com?result=cancel</value>
</data>
</specificPaymentData>
</initiatePaymentRequest>
TokenProfileID | Token profile ID |
Token | Token hash |
The initatePayment response includes the following addtional parameters:
InitiatePaymentResponse:
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>XXXX</merchantID>
<shopID>XXXX</shopID>
<paymentMethod>
<key>297</key>
<value>iPayDeposit</value>
</paymentMethod>
<merchantTransactionID>ProviderTesting_iPay_Try015</merchantTransactionID>
<paymentID>7e32894f-b61d-45a5-90d1-366b9c3fd3c2</paymentID>
<userID>4fe41496-5d7b-465f-97c9-a1d1ffc19221</userID>
<paymentProvider>
<key>163</key>
<value>iPay</value>
</paymentProvider>
<amount currencyCode="ZAR">5.00</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>ace28359-beaf-437a-9fef-aef38d509fef</id>
<definition>
<key>287</key>
<value>RedirectDataCreated</value>
</definition>
<createdOn>2021-03-17T10:27:59.6030222Z</createdOn>
<description>https://stagingpay.ozow.com
SiteCode='TSTSTE0001'
CountryCode='ZA'
CurrencyCode='ZAR'
Amount='5.00'
TransactionReference='7e32894f-b61d-45a5-90d1-366b9c3fd3c2'
BankReference='ProviderTesting_iPay'
CancelUrl='http://sample.com?result=cancel'
ErrorUrl='http://sample.com?result=error'
SuccessUrl='http://sample.com?result=success'
NotifyUrl='https://api.test.kalixa.com/WebMockProviders/Proxy?url=https%3A%2F%2Fapi.test2.kalixa.com%2FProviderListeners%2FIPay%2FNotification'
IsTest='True'
HashCheck='971789f53029fd240c0ac578d5a63ccb04aa12c948ead5a97ce2a7e489a918fb7a9221a12c6e45ce1748e21b35e31fa813da5e5e5334d90582947ef1d2796fd8'
TokenProfileId='9321b77d-f353-46f2-b4a3-cc4281000361'
Token='AQICAHhMYfne6NjHfftc8rC5lfRBPvy0taawYUYeFhWIVUPGAwFxxcIfdCPzhNcwdgk5g2tJAAABADCB/QYJKoZIhvcNAQcGoIHvMIHsAgEAMIHmBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDJhpgv6mM4SxCJvCDQIBEICBuFL3RWfnWhbEqaLQapwBz0Xup9Md1P+sKBvt43yYdTzf5A0NonMFn/U8gXWlnZmBp/a5/fSv/1I+ceMIT8In+z3FFFB/2DS0mldLUkR+xpEaKp0PExEeNFRohph6gmZrn/pam1m76ZNnz0JjmdIKohfs/g4eVVgQG9ox6CxhSD83mp2QbOljbVzCEfZ81qd+lUj8V0EHkEXpZqaZpQHsW3C0q0P3juZQ+Pc0ohQmyFsbPyYP41OAgXY='
</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>https://stagingpay.ozow.com</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataSiteCode</key>
<value>TSTSTE0001</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataCountryCode</key>
<value>ZA</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataCurrencyCode</key>
<value>ZAR</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataAmount</key>
<value>5.00</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataTransactionReference</key>
<value>7e32894f-b61d-45a5-90d1-366b9c3fd3c2</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataBankReference</key>
<value>ProviderTesting_iPay</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataCancelUrl</key>
<value>http://sample.com?result=cancel</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataErrorUrl</key>
<value>http://sample.com?result=error</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataSuccessUrl</key>
<value>http://sample.com?result=success</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataNotifyUrl</key>
<value>https://api.test.kalixa.com/WebMockProviders/Proxy?url=https%3A%2F%2Fapi.test2.kalixa.com%2FProviderListeners%2FIPay%2FNotification</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataIsTest</key>
<value>True</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataHashCheck</key>
<value>971789f53029fd240c0ac578d5a63ccb04aa12c948ead5a97ce2a7e489a918fb7a9221a12c6e45ce1748e21b35e31fa813da5e5e5334d90582947ef1d2796fd8</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataTokenProfileId</key>
<value>9321b77d-f353-46f2-b4a3-cc4281000361</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataToken</key>
<value>AQICAHhMYfne6NjHfftc8rC5lfRBPvy0taawYUYeFhWIVUPGAwFxxcIfdCPzhNcwdgk5g2tJAAABADCB/QYJKoZIhvcNAQcGoIHvMIHsAgEAMIHmBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDJhpgv6mM4SxCJvCDQIBEICBuFL3RWfnWhbEqaLQapwBz0Xup9Md1P+sKBvt43yYdTzf5A0NonMFn/U8gXWlnZmBp/a5/fSv/1I+ceMIT8In+z3FFFB/2DS0mldLUkR+xpEaKp0PExEeNFRohph6gmZrn/pam1m76ZNnz0JjmdIKohfs/g4eVVgQG9ox6CxhSD83mp2QbOljbVzCEfZ81qd+lUj8V0EHkEXpZqaZpQHsW3C0q0P3juZQ+Pc0ohQmyFsbPyYP41OAgXY=</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PostDataKeys</key>
<value>SiteCode,CountryCode,CurrencyCode,Amount,TransactionReference,BankReference,CancelUrl,ErrorUrl,SuccessUrl,NotifyUrl,IsTest,HashCheck,TokenProfileId,Token</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="ZAR">5</baseAmount>
<paymentDetails></paymentDetails>
<paymentAccount>
<paymentAccountID>f64cd5c4-f918-406c-b363-265cec78e582</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Notifications
The standard notification mechanism is used for notifying the merchant in the background (asynchronously) about payment state changes. For more information see PaymentStateChangedNotification.
The final execution status about the payment will come within a payment state change notification to the merchant.
The possible payment states are listed below:
Payment States | Description |
---|---|
DepositedByProvider (29) | Success state; Payment has been executed. |
DepositErrorReportedByProvider (152) | Error state; Communication error with provider occurred. |
AbortedByCustomer | Error state; The Payment has been aborted by the customer. |
Expired (102) | Error state. The payment has been abandoned by the customer and the session has expired. |
PendingOnProvider (120) | Intermediate state. The bank is delaying the payment for some reason. The can change status within a few hours. |
OnInvestigation (341) | Intermediate state. The bank has intervened fully and the merchant has to wait for the money being reflected in the merchant´s bank account. The merchant´s operator may then manually move the payment to DepositedByProvider. |
Example handlePaymentStateChangedNotificationRequest:
<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>IPayDepositShop</shopID>
<paymentMethod>
<key>297</key>
<value>iPayDeposit</value>
</paymentMethod>
<merchantTransactionID>2f8ec4ba-fc56-45a9-9077-61369d3bf314</merchantTransactionID>
<paymentID>235f0eb8-3f30-43c0-bf01-9b9c94afabcc</paymentID>
<userID>96326cc4-9fb4-4f3c-b9b7-e5c529bbd820</userID>
<paymentProvider>
<key>163</key>
<value>iPay</value>
</paymentProvider>
<amount currencyCode="ZAR">150.6700</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>792d5bba-409b-4d2a-86f2-047623f4785c</id>
<definition>
<key>29</key>
<value>DepositedByProvider</value>
</definition>
<createdOn>2018-01-12T11:39:27.503</createdOn>
<description>Result 'Complete' received from the provider.</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderResult</key>
<value>Complete</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">15.0700</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>98</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>c86a5b1a-84b6-43f0-bebe-c7775aa58b66</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>iPayDepositShop</shopID>
<paymentMethod>
<key>297</key>
<value>iPayDeposit</value>
</paymentMethod>
<merchantTransactionID>a94f8861-9af3-4607-aaf2-aa0c5ee62fce</merchantTransactionID>
<paymentID>50800f87-1244-42bd-958c-f5a5da9508dd</paymentID>
<userID>6772c5d3-c1f0-4cfb-b48e-3c640e761fc4</userID>
<paymentProvider>
<key>163</key>
<value>iPay</value>
</paymentProvider>
<amount currencyCode="ZAR">150.6700</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>a022b51e-877f-4812-8e03-79ee3953270d</id>
<definition>
<key>152</key>
<value>DepositErrorReportedByProvider</value>
</definition>
<createdOn>2018-01-17T15:03:57.857</createdOn>
<paymentStateDetails>
<detail xsi:type="keyIntValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">11.4000</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>358</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>22cb616d-c7e3-4cd2-9878-e619d18ad89b</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>iPayDepositShop</shopID>
<paymentMethod>
<key>297</key>
<value>iPayDeposit</value>
</paymentMethod>
<merchantTransactionID>c8bc5d91-24e4-43b3-a460-ee27ae6356f0</merchantTransactionID>
<paymentID>52ab690f-48a5-4f0e-9822-76529944811b</paymentID>
<userID>6105d15b-5c1a-479c-8b3e-d24c263068a6</userID>
<paymentProvider>
<key>163</key>
<value>iPay</value>
</paymentProvider>
<amount currencyCode="ZAR">150.6700</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>db26e786-1677-4199-9eb6-96ee48749924</id>
<definition>
<key>120</key>
<value>PendingOnProvider</value>
</definition>
<createdOn>2018-01-17T15:01:26.97</createdOn>
<paymentStateDetails>
<detail xsi:type="keyIntValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">11.4000</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>356</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>72764077-962a-49a1-aa04-bd619e04e42a</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>B2BTestMerchant</merchantID>
<shopID>iPayDepositShop</shopID>
<paymentMethod>
<key>297</key>
<value>iPayDeposit</value>
</paymentMethod>
<merchantTransactionID>5f84307e-131d-4e87-b7b7-d4a348450c49</merchantTransactionID>
<paymentID>f7be31ad-fbc2-4a94-9e9c-a331aae84a14</paymentID>
<userID>df7763f7-b155-4e3d-abc2-1c8197863666</userID>
<paymentProvider>
<key>163</key>
<value>iPay</value>
</paymentProvider>
<amount currencyCode="ZAR">150.6700</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>16d94e46-de63-447e-8896-ab48bd899d70</id>
<definition>
<key>341</key>
<value>OnInvestigation</value>
</definition>
<createdOn>2018-01-17T15:01:43.107</createdOn>
<paymentStateDetails>
<detail xsi:type="keyIntValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">11.4000</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>357</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>6ddfa899-1940-4db3-81ca-7fb49ac115f7</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>YouMerchantID</merchantID>
<shopID>YouShopID</shopID>
<paymentMethod>
<key>297</key>
<value>iPayDeposit</value>
</paymentMethod>
<merchantTransactionID>a782a20b-b6ec-4e3f-bbd8-80ec4387b850</merchantTransactionID>
<paymentID>c27ebe7c-9550-4a3e-a574-245382d80a87</paymentID>
<userID>44b88c7d-e501-48e9-919d-288de9047038</userID>
<paymentProvider>
<key>163</key>
<value>iPay</value>
</paymentProvider>
<amount currencyCode="ZAR">150.6700</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>8593478c-a48e-4436-ae7b-3200974dc0de</id>
<definition>
<key>152</key>
<value>DepositErrorReportedByProvider</value>
</definition>
<createdOn>2018-01-19T17:32:07.283</createdOn>
<description>Result 'Error' received from the provider.</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderResult</key>
<value>Error</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderResultMessage</key>
<value>Message regarding the status of the transaction. This field will not always have a value.</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>PaymentStateReasonID</key>
<value>1</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">15.0700</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>c27ebe7c-9550-4a3e-a574-245382d80a87</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>29a79a0f-f28d-411c-9677-d973e1a6c5d3</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
Updated over 3 years ago