0
PHPでのPayPalの統合は初めてです。 tutorialが見つかりました。 は今、私はサンドボックスに問題を抱えている:PHPでのPayPal EWPの実装
The email address for the business is not present in the encrypted blob. Please contact your merchant.
私は、電子メールや商人、私のサンドボックスアカウントのIDが、運を送信しようとしています。
マイコード:
$form = array('cmd' => '_s-xclick',
'cert_id' => '*************',
'business' => $bussiness_id,
'custom' => 'test',
//'invoice' => '...',
'currency_code' => 'EUR',
'no_shipping' => '1',
'item_name' => 'TestItem',
'item_number' => '12345',
'amount' => '10'
);
$encrypted = paypal_encrypt($form);
function paypal_encrypt($hash)
{
...trimmed...
$data = "";
foreach ($hash as $key => $value) {
if ($value != "") {
//echo "Adding to blob: $key=$value\n";
$data .= "$key=$value\n";
}
}
$openssl_cmd = "($OPENSSL smime -sign -signer $MY_CERT_FILE -inkey $MY_KEY_FILE " .
"-outform der -nodetach -binary <<_EOF_\n$data\n_EOF_\n) | " .
"$OPENSSL smime -encrypt -des3 -binary -outform pem $PAYPAL_CERT_FILE";
exec($openssl_cmd, $output, $error);
...trimmed...
};
?>
PayPalのフォームがある:暗号化される
define("SANDBOX", 1);
$bussiness_id="[email protected]***********";
if(SANDBOX) $bussiness_id="***********";
データ
<form action="https://<?php if(SANDBOX) echo "www.sandbox"; else echo "www"; ?>.paypal.com/cgi-bin/webscr" method="post" target=_blank>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="encrypted" value="<?php echo $encrypted; ?>">
<input type="submit" value="Pay">
</form>
コードは、チュートリアルからサンプルだけで、Iあまり編集していない
このメールアドレスをサンドボックスアカウントに追加しましたか? –
@SirGalahadでした。これはサンドボックスアカウントの唯一のメールです。 –
um、私はそれを見て、それはいくつかの問題を抱えている可能性があります:1.証明書またはキーファイルが正しく読み取られない可能性があります(許可が欠けているなど)2.あなたのOPENSSLバージョンに問題があるかもしれません。番号1の場合、変数2を変数にダンプすると、コマンドラインにコマンドをコピーして何が出てくるのかを確認するだけです –