完美货币API集成错误


Perfect Money API integration error

我整合完美的钱在一个项目的即时支付。我面对的是错误。我正在正确应用所有信息,但仍然返回提供的用户名和密码不正确。这是我的代码。

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

您通常会使用http_build_query构建url,在您的情况下类似

 $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;

然后打开这个url:

 $f = fopen($url);