Como funciona el Widget de Pago-por-SMS?
Pago por SMS Widget es una solución todo-en-uno de pago por teléfonos móviles internacional para empresas, basados en la red. Su puesta en marcha es rápida, fácil y gratis. Es perfecto para la venta de créditos en los juegos en línea, las tarifas de acceso a los contenidos, etc .. Empieza ahora mismo!
Parámetros
Cuando alguien completa un pago, Fortumo le informará sobre esto por medio de una una solicitud GET HTTP a la URL que ha especificado en la configuración del servicio (por ejemplo http://yourdomain.com/sms.php). Esta respuesta se considera exitosa y la notificación de entrega si el servidor responde con el código 200, de lo contrario la solicitud será repetida (hasta 10 veces). El cuerpo de su respuesta no será procesada o reenviada.
sendercountrycurrencyamountpriceuser_sharecuidpayment_idservice_idoperatorstatusesta completado para el pago con éxito o contiene la frase Ha fallado.testsigEs importante asegurarse de que la secuencia de comandos de servicio es operado por Fortumo y no otra persona. Existen varias medidas de seguridad, que satisfacen a la mayoría de los proveedores de servicios:
$_SERVER["REMOTE_ADDR"]variable.
sig parámetro y se calcula como suma de control md5 de la solicitud y secreto junto a parámetros vinculados. Usted puede hacer el mismo cálculo y comprobar si sig el parámetro de la petición coincide con el que calcula. Véase el siguiente ejemplo PHP para saber exactamente cómo se hace el cálculo.
Sample 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); } ?>Copiar al portapapeles
| Condiciones del servicio | support@fortumo.com |