OTT Voucher Deposit
OTT Voucher is a payment method allowing user to purchase vouchers at various outlets in South Africa.
The following method IDs are covered in this section:
ID | Name | Credit State |
---|---|---|
428 | OTTVoucherDeposit | ExecutedByProvider |
Payment method interaction type: Synchronous call (see Interaction Types).
Payment Flow
Customer perspective
- Customers buys the OTT Voucher Online
- Customer is at the merchant web site and proceeds to checkout (or wants to make a deposit)
- Customer selects Voucher or OTT as payment method
- Customer enters the voucher pin and submits
- Payment is performed
Merchant integration flow
Redirect Integration
not supported
Backend2Backend Integration
The following parameters are mandatory for this payment method and have to be provided in initiatePaymentRequest.specificPaymentData
:
key (value type, account type, required) | value |
---|---|
MobilePhoneNumber | The customers mobile phone number |
The following parameters are mandatory for this payment method and have to be provided in initiatePaymentRequest.specificPaymentAccountData
:
key (value type, account type, required) | value |
---|---|
PIN | The PIN of the OTT voucher (the customer can find this on his purchased voucher). |
serialNumber | The OTT voucher number (the customer can find this on his purchased voucher). |
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>YourTestMerchant</merchantID>
<shopID>YourTestShop</shopID>
<merchantTransactionID>192d0d8b-a82b-4680-80b2-255bc5608759</merchantTransactionID>
<paymentMethodID>428</paymentMethodID>
<amount currencyCode="ZAR">88.00</amount>
<userID>192d0d8b-a82b-4680-80b2-255bc5608759</userID>
<userData>
<username>ob-pwmb</username>
<firstname>ob-pwmb-fn</firstname>
<lastname>ob-pwmb-ln</lastname>
<currencyCode>USD</currencyCode>
<email>[email protected]</email>
<address>
<street>test street</street>
<houseName>test house name</houseName>
<houseNumber>123</houseNumber>
<houseNumberExtension>ABC</houseNumberExtension>
<postalCode>1220</postalCode>
<city>test city</city>
<state>test state</state>
<countryCode2>US</countryCode2>
<telephoneNumber>123456789</telephoneNumber>
</address>
<dateOfBirth>1995-10-10T00:00:00</dateOfBirth>
<gender>Male</gender>
<identificationNumber>1442122d-5244-4617-bb23-932fbce2cbbe</identificationNumber>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>10a4a45a-5dd0-4c10-af5f-5dc8862dc481</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>MobilePhoneNumber</key>
<value>+4368120458290</value>
</data>
</specificPaymentData>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>serialNumber</key>
<value>e19cbb02-7d93-4ed6-9cc4-c4dc482c672e</value>
</data>
<data xsi:type="keyStringValuePair">
<key>PIN</key>
<value>309791484386</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example initiatePaymentResponse successful payment:
<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>YourTestMerchant</merchantID>
<shopID>YourTestShop</shopID>
<paymentMethod>
<key>428</key>
<value>OTTVoucherDeposit</value>
</paymentMethod>
<merchantTransactionID>192d0d8b-a82b-4680-80b2-255bc5608759</merchantTransactionID>
<paymentID>b61d7f01-2398-479c-a802-57d283421075</paymentID>
<userID>192d0d8b-a82b-4680-80b2-255bc5608759</userID>
<paymentProvider>
<key>198</key>
<value>Adumo</value>
</paymentProvider>
<amount currencyCode="ZAR">88.00</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>1c5ddea0-d843-49e0-be70-1c6aabc744b5</id>
<definition>
<key>142</key>
<value>ExecutedByProvider</value>
</definition>
<createdOn>2022-04-05T12:17:48.6103825Z</createdOn>
<paymentStateDetails xsi:nil="true"></paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">6.66</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>cf0e895f-0db5-43d7-96a7-213319e48d1d</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>24462</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>a0c8921d-6ec6-4d25-8539-ccb7624221f2</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Possible States in the initiatePaymentResponse
Payment State | Description |
---|---|
ExecutedByProvider (142) | Success state |
InitiateRequestProviderCommunicationErrorOccurred | Error state; Communication error during payment finalization |
InitiateRefusedByProvider | Error state; Provider refused the initiation of the voucher |
InitiateErrorReportedByProvider | Error state; Provider reported an error during the initiation of the voucher |
ExecuteRequestSentToProviderCommunicationErrorOccured | Error state; Communication error during payment finalization |
RefusedByProvider | Error state; Provider refused the redemption of the voucher |
ExecuteErrorReportedByProvider | Error state; Provider reported an error during the redemption of the voucher |
State Diagram
Test cases
To test an OTT Voucher Deposit the following values need to be used:
- MobilePhoneNumber - some number, e.g. +4368120458290
- serialNumber - some GUID
- PIN - some string, e.g. 309791484386
At the moment, it is not possible to simulate error scenarios for this payment method. Any value sent will result in a successful payment.
Updated over 2 years ago