Programming Guide » History » Revision 2
Revision 1 (chin-yeh, 03/06/2012 06:33 PM) → Revision 2/15 (chin-yeh, 03/06/2012 06:54 PM)
{{toc}} h1. Programming Guide This guide describes how to integrate online mall with the QIWI. QIWI API(s). *Demo Application:* _(refer to the [[wiki#Merchant-Account|Merchant Account]] to get the merchant details)_ > http://192.168.2.68/qiwi-provider/sample_payment_form.html h2. Steps-By-Steps # First, study the flow [[Specification#Payment-Flow]] # To redirect the customer to QIWI, prepare the following <code>HTML form</code>: ** *action* - must be http://w.qiwi.ru/setInetBill_utf.do ** *from* - merchant ID ** *txn_id* - unique transaction ID, e.g. order ID ** *to* - customer's MSISDN, e.g. mobile phone number ** *summ* - payment amount, e.g. 10.22 ** *com* - description of this payment ** _example_: <pre> <code class="HTML"> <form method="post" action="http://w.qiwi.ru/setInetBill_utf.do"/> <table> <tr><td>eCosway Shop ID:</td> <td><input name="from" type="text" value="2042"/></td> </tr> <tr><td>eCosway Order ID:</td> <td><input name="txn_id" type="text" value="test-order-1"/></td> </tr> <tr><td>Customer Mobile No.:</td> <td><input name="to" type="text" value="9161234567"/></td> </tr> <tr><td>Payment Amount (RUB a.k.a Rouble):</td> <td><input name="summ" type="text" value="2.15"/></td> </tr> <tr><td>Payment Description:</td> <td><input name="com" type="text" value="For registration fee"/></td> </tr> <tr> <td><input type="submit" value="Pay Now"/> </td> </tr> </table> </form> </code> </pre> # Prepare a <code>servlet</code> or <code>JSP</code> to capture the payment status callback. ## the <code>servlet</code> or <code>JSP</code> must accept this query parameter, *paymentResponse* <pre>String paymentResponse = request.getParameter("paymentResponse");</pre> ## decrypt the parameter using *EncryptAES* utils: <pre> <code class="JAVA"> String decryptedResponse = new EncryptAES().decryptSKey(request.getParameter("paymentResponse")); </code> </pre> ## the decrypted <code>paymentResponse</code> parameter consists of *transaction ID*, *payment result*, and *from who* and delimited by <code>comma</code> <pre> test-order-1,true,qiwi </pre> ## *Important Note:* This is your responsibility to persist this payment result into the respective <code>interface</code> table. # done.