4

ここに示すように、Amazonペイメントをフレックスアプリで機能させようとしています:http: //miti.pricope.com/2009/07/11/using-amazon-flexible-payment-system-with-flex/

私は彼の言うとおりに、ファイルをダウンロードし、アクセスキーと秘密キーを変更しました。ローカルホストまたは本番サーバーで実行すると、「署名が一致しませんでした」というメッセージが表示されます。

これを機能させるには、他に何が必要ですか?彼が含めるのを忘れた他に何か必要なものはありますか?

4

1 に答える 1

0

次に試してみましょう:

goto return.and find function validateQueryString()and change to this:

function validateQueryString()
{
    echo "validing the query string now\n";
    $querystring = $_SERVER['QUERY_STRING'];
    echo $querystring."\n";
    echo $_GET['signature'];
    $obj = new Amazon_FPS_CBUIUtils(AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY);
    //Original signature received in response from Amazon FPS should be specified.
    $signatureMatched = $obj->validateQueryString($querystring,$_GET['signature']);

    if ($signatureMatched) {
        echo "signature matched \n";
  $request =  new Amazon_FPS_Model_PayRequest();
  //set the proper senderToken here.
  $request->setSenderTokenId($_GET['tokenID']);
  $amount = new Amazon_FPS_Model_Amount();
  $amount->setCurrencyCode("USD");
  //set the transaction amount here;
  $amount->setValue($_SESSION['transaction_amount']); 
  $request->setTransactionAmount($amount);
  //set the unique caller reference here.
  $request->setCallerReference($_GET['callerReference']); 
  $service = new Amazon_FPS_Client(AWS_ACCESS_KEY_ID, 
                                        AWS_SECRET_ACCESS_KEY);
    invokePay($service, $request);
    }
    else
        echo "Signature did not match \n";
}

ここに出力を投稿してください。Signature did not match

ありがとう。

于 2010-09-06T18:52:59.513 に答える