Perfect Money API集成错误

时间:2015-10-23 14:26:29

标签: php jquery api

我正在将Perfect Money整合到Instant Payments项目中。我在这里遇到了错误。我正在应用所有信息,但仍然返回提供的用户名和密码不正确。这是我的代码。

if(isset($_POST['req_pay']))
{
$f=fopen('https://perfectmoney.is/acct/confirm.asp?AccountID=myaccount&PassPhrase=mypassword&Payer_Account=U10428073&Payee_Account=U1234567&Amount=1&PAY_IN=1&PAYMENT_ID=1223', 'rb');

        if($f===false){
           echo 'error openning url';
        }

        // getting data
        $out=array(); $out="";
        while(!feof($f)) $out.=fgets($f);

        fclose($f);

        // searching for hidden fields
        if(!preg_match_all("/<input name='(.*)' type='hidden' value='(.*)'>/", $out, $result, PREG_SET_ORDER)){
           echo 'Ivalid output';
           exit;
        }

        $ar="";
        foreach($result as $item){
           $key=$item[1];
           $ar[$key]=$item[2];
        }

        echo '<pre>';
        print_r($ar);
        echo '</pre>';

} 

?>

1 个答案:

答案 0 :(得分:1)

您通常会使用http_build_query建立一个网址,例如

 $params = array('AccountID' => 'myaccount',
                 'PassPhrase' => 'mypassword',
                 'Payer_Account' => 'U10428073',
                 'Payee_Account' => 'U1234567',
                 'Amount' => 1,
                 'PAY_IN' => 1,
                 'PAYMENT_ID' => 1223,
           );
 $query = http_build_query($params);
 $url = 'https://perfectmoney.is/acct/confirm.asp?' . $query;

然后打开这个网址:

 $f = fopen($url);