高级SMS计费解决方案

时间:2011-01-19 04:19:59

标签: php sms billing

他们是否可以按月向用户发送移动内容?我想拥有它,以便他们在基于网络的选择加入页面中输入一个号码,然后他们必须确认一个引脚以确认他们的订阅。我找不到允许美国运营商按月计费的任何选民。有什么想法吗?

我的应用程序是在PHP中,API是必要的,我希望将付款用于手机账单(不管理自己)

2 个答案:

答案 0 :(得分:5)

如果您想使用聚合器并向客户的手机帐单收费,可以使用mBlox。如果您想自己向客户收费并向其发送内容,请查看Twilio(发送短信/电话)和Braintree(处理付款)。

无论您选择哪种选项,您仍然需要构建应用程序以与这些提供程序进行交互。

答案 1 :(得分:2)

使用fortumo http://fortumo.com/

以下是他们的api示例:

<?php

  //set true if you want to use script for billing reports
  //first you need to enable them in your account
  $billing_reports_enabled = false;

  // 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'];
  $message = $_GET['message'];
  $message_id = $_GET['message_id'];//unique id
  //hint:use message_id to log your messages
  //additional parameters: country, price, currency, operator, keyword, shortcode 
  // do something with $sender and $message
  $reply = "Thank you $sender for sending $message";

  // print out the reply
  echo($reply);

 //customize this according to your needs
  if($billing_reports_enabled 
    && preg_match("/Failed/i", $_GET['status']) 
    && preg_match("/MT/i", $_GET['billing_type'])) {
   // find message by $_GET['message_id'] and suspend it
  }


  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);
  }
?>