OSOFTPAY Wallet Top up

This allows OSOFTPAY merchants receive payments as topup for every inflow into their big wallet. This integration targets merchants wallet and can further notify the merchant which of their agent is making this payment. The popular method of consuming this API POST Method.

OSOFTPAY required/mandatory fields to initiate payments

Note: These are the required/mandatory fields to initiate topup to OSOFTPAY Merchant Wallet

MerchantNumber This is a mandatory field that is provided by OSOFTPAY. It is used to identify the merchant placing the POST request. Note that the demonstration MerchantNumber can be obtained when you login to https://developer.osoftpay.net and create a Test Merchant string
SubMerchant Thisis the unique identity of your Submerchant or agent. The is an optional field. However, if it is provided, OSOFTPAY will attempt to notify you through another API of the agent or the SubMerchant that made the payment. You can use this information to further credit your agent within your system. If the field is left empty, no attempt will be made by OSOFTPAY. string
Request This can either be VAS (to place a pay by transfer request. The response will return the Account Number, Bank Name and Amount to pay) or MCASH (to place a USSD request, and this returns the ussd to dial per bank) or QR (to place a QR Code payment request, and a base64 string is returned and you are expected to generate an image to be scanned fo payment from a bank app using the retuned base64 string) string
RequestId You are expected to generate and send this unique id per transaction and send in your request string
Amount String Amount Value e.g 5000 string
Hash You are expected to do SHA512 of MerchantNumber + RequestId + Amount string

Initiate Payment
Sample HTML Request form
<form id="form1" action="https://developer.osoftpay.net/api/TopupRequests" method="post"> <input name="MerchantNumber" value="xxxxxxxxx" type="hidden" /> <input name="SubMerchant" value="ABC5635R" type="hidden" /> <input name="Request" value="VAS" type="hidden" /> <input name="RequestId" value="1234567" type="hidden" /> <input name="Amount" value="8600" type="hidden" /> <input name="Hash" value="HashValue" type="hidden" /> <input type="submit" value="Submit" /> </form>

Note: The fields provided in the form above are required for wallet topup interface to be initiated. You can customize the form to receive values as inputs depending on your development platform but make sure the name property is same as used on the sample form.

For a successful request, you should expect the following response
{ "Request": "VAS", "RequestId": "1234567", "Response": "Wema Bank 0076500710", "AmountDue": "8700" }

Where "Wema Bank 0076500710" is the account number to used to make a payment "8700"