0

私たちは、基本的にパートナーのサーバーから私たちのサーバーへの HTTP GET / POST であるこのコールバック メソッドを統合しようとしています。コールバック URL は次のようになります -

http://www.yourserver.com/callback.php?tid=[=tid=]&uid=[=order_id=]&timestamp=[=timestamp=]&country=[=country=]&ip=[=ip=]&useragent=[=useragent=]&sid=[=subid=]&payout=[=payout=]&currency=[=currency=]&udid=[=iphone_udid=]&campaign_id=[=campaign_id=] 

トランザクションが発生するたびに、私たちがいる領域外にあるパートナーのサーバーがサーバーにポストされます。そこでは、必要な処理を行い、ポストからデータを受け取り、mysql データベースに書き込む callback.php サービスがあります。

ブラウザで上記の URL にアクセスすると、期待どおりにデータが取得され、データベースに書き込まれます。しかし、サーバーからサーバーへの HTTP 呼び出しが発生すると、ポスティング サーバーはエラー 400 を受け取ります。

このコールバック メソッドは、単純にするために https ではなく http を介して認証なしで実行されます。

使用している callback.php コードは以下のとおりです。

<?php
include "DBConnection.inc";
require("logging.php");

// Fetch data from callback url
$uid = $_REQUEST['uid'];
$tid = $_REQUEST['tid'];
$sid = $_REQUEST['sid'];    
$timestamp = $_REQUEST['timestamp'];
$country = $_REQUEST['country'];
$ip = $_REQUEST['ip'];
$useragent = $_REQUEST['useragent'];    
$payout = $_REQUEST['payout'];
$currency = $_REQUEST['currency'];
$udid = $_REQUEST['udid'];
$campaign_id = $_REQUEST['campaign_id'];    

// Initialize the local variables
$errorLoggingPath = "callback-url.log";

// Insert data into database
$insertQuery = "INSERT INTO tb_callback_url VALUES ('$uid', '$tid', '$sid', '$timestamp', '$country', '$ip', '$useragent', '$payout', '$currency', '$udid', '$campaign_id')";
mysql_query($insertQuery);

if( mysql_errno() <> 0 )
{
    LogError("INSERT failed in tb_callback_url: " . mysql_error(), __FILE__, __LINE__ , $errorLoggingPath);
}

mysql_close();?>

Web サーバーの設定や callback.php コードに関して、特に調査すべき点はありますか?

助けてくれてありがとう。

4

0 に答える 0