Kuidas Mobiilimakse nupp töötab?
Mobiilimaksenupp on kõik-ühes rahvusvaheline mobiilimakse funktsioon veebipõhistele äridele. Selle seadistamine on kiire, lihtne ja tasuta. See on ideaalne krediidi müümiseks veebipõhistes mängudes või ligipääsu maksustamiseks, jne... Alusta kohe!
Parameetrid
Kui klient on makse lõpetanud, annab Fortumo Sulle sellest teada, tehes HTTP GET päringu URL-le, mida oled teenuse konfiguratsioonis määranud(näiteks http://yourdomain.com/sms.php). See vastus loetakse õnnestunuks ja teavitus kohaletoimetatud kui Su server vastab koodiga 200, vastasel juhul korratakse päringut (kuni 10 korda). Sinu vastuse sisu ei töötletata ega edastata.
sendercountrycurrencyamountpriceuser_sharecuidpayment_idservice_idoperatorstatuslõpetatud (completed) eduka makse puhul või sisaldab fraasi failed.testsigOn väga tähtis, et teenuse skripti kutsuks välja ainult Fortumo, mitte keegi teine. Selleks on olemas mitmeid turvameetmeid, mis rahuldavad suurema osa teenusepakkujaid.:
$_SERVER["REMOTE_ADDR"] muutujaga.
sig parameetrina ja arvutatakse md5 summana, kus päringu parameeter ja märge on kokku liidetud. Sa võid prooviks teha sama arvutuse ning veenduda kas sig parameeter päringus on sama, mille iseseisvalt said. Palun vaata allolevat PHP näidist, et näha kuidas arvutus täpselt käib.
Näidis sms.php
<?php // check that the request comes from Fortumo server if(!in_array($_SERVER['REMOTE_ADDR'], array('81.20.151.38', '81.20.148.122', '79.125.125.1', '209.20.83.207'))) { header("HTTP/1.0 403 Forbidden"); die("Error: Unknown IP"); } // check the signature $secret = ''; // insert your secret between '' if(empty($secret) || !check_signature($_GET, $secret)) { header("HTTP/1.0 404 Not Found"); die("Error: Invalid signature"); } $sender = $_GET['sender'];//phone num. $amount = $_GET['amount'];//credit $cuid = $_GET['cuid'];//resource i.e. user $payment_id = $_GET['payment_id'];//unique id //hint: find or create payment by payment_id //additional parameters: operator, price, user_share, country if(preg_match("/failed/i", $_GET['status'])) { // mark payment as failed } else { // mark payment successful } // print out the reply echo('OK'); function check_signature($params_array, $secret) { ksort($params_array); $str = ''; foreach ($params_array as $k=>$v) { if($k != 'sig') { $str .= "$k=$v"; } } $str .= $secret; $signature = md5($str); return ($params_array['sig'] == $signature); } ?>Kopeeri kood