With advance implementation, the behavior of the popup can be customized to do the following:
- Land straight on the card input page. Note: This only happens when all the fields (amount, buttonSize, customerId, mobileNumber, emailAddress, redirectUrl) are filled. mobileNumber must be 11 digits.
- Redirect to a page on your website after payment
- Close the pop-up window after the transaction
- Validate that the amount paid was the exact amount you were expecting (to prevent fraudulent transactions) as well as the status of transactions
- paymentCode: This is the merchant’s payment code on the Quickteller platform
- amount: this is the value I expect to be paid. In lower denomination. (N10 = 1000)
- buttonSize: Pay with Quickteller supports 4 values. These values are small, medium, large, default.
- CustomerId: this is a unique reference for this payment or customer. Something to ID the payment
- mobileNumber: a phone number for the paying customer. This number will receive an SMS receipt.
- emailAddress: an email address for the paying cutomer. This email address will receive an email receipt
- redirectUrl: This is the page on my web application that I want the payment gateway to redirect to after the payment is complete.
- requestReference: This is the Merchant’s own Transaction ID generated uniquely for each transaction. Your requestReference must be prefixed with a 4 digit prefix provided by Interswitch. This is ultimately used in querying for a Transaction to confirm status of payment. The requestReference cannot be reused and must be unique for every transaction.
The payment gateway will redirect the user to the website summary page after payment. As part of the redirect, the payment gateway will submit some POST values to the page I have specified. The values I can expect to receive are below.
- resp_code: a value that shows if the transaction was successful or not. ‘00’ denotes successful. Every other value is a failure.
- resp_desc: A textual description of the response code
- tx_ref: a unique reference for the transaction. Assigned by the payment gateway
- recharge_pin: if the transaction is such that it requires the payer to get a voucher (like airtime recharge vouchers or electricity) the voucher number will be passed in this value
- signature: A unique signature for this trxn using a mix of amount, resp_code, tx_ref all encrypted using the secret key provided to you by Interswitch
In essence, you have to implement a page that will:
- Receive these values
- Call a REST service exposed by Quickteller to retrieve other details of the transaction. Please refer to PayWithQuickteller REST API
- As a security check, compare the amount paid with the amount you set above
If everything checks out, mark the payment as done and give value to customer.