2

Paypalサンドボックスでサイトを試してテストしましたが、金額を完全に差し引くことができます.

API の詳細を Paypal とリンクに切り替えました。いくつかのペイパル アカウントで動作するかどうかを試してみました (すべてのアカウントに取引に十分な資金があります)。

returnUrl ページの API を介してこれを受け取ります - API 呼び出しに失敗しました

Array ( [TIMESTAMP] => 2012%2d07%2d15T19%3a31%3a43Z [CORRELATIONID] => 927a89205e54a           
[ACK] => Failure [VERSION] => 65%2e1 [BUILD] => 3300093 [L_ERRORCODE0] => 13113               
[L_SHORTMESSAGE0] => Buyer%20Cannot%20Pay%2e [L_LONGMESSAGE0] =>                          
The%20Buyer%20cannot%20pay%20with%20PayPal%20for%20this%20Transaction%2e [L_SEVERITYCODE0] => Error )

最終的な API 呼び出しを行うための PHP -

$APIUSERNAME="*****";
$APIPASSWORD="***";
$APISIGNATURE="*****";
$ENDPOINT = "https://api-3t.paypal.com/nvp";
//$ENDPOINT     = "https://api-3t.sandbox.paypal.com/nvp";   
$VERSION      = "64"; 

//Build the Credential String:   
$cred_str = "USER=" . $APIUSERNAME . "&PWD=" . $APIPASSWORD . "&SIGNATURE=" .           
$APISIGNATURE . "&VERSION=" . $VERSION;

//Build NVP String for GetExpressCheckoutDetails   
$nvp_str = "&METHOD=GetExpressCheckoutDetails&TOKEN=" . urldecode($token); 

//Lets combine both strings then make the API call
$req_str = $cred_str . $nvp_str; $response = PPHttpPost($ENDPOINT, $req_str);

上記の配列は、ペイパルから最終確認を受け取ったときのものです。

//check Response
if($doresponse['ACK'] == "Success" || $doresponse['ACK'] == "SuccessWithWarning") { 
echo "completed"; //just put to test  
include "finishtransaction.php"; //cancels my cart sessions
} else{
    echo "The API Call Failed"; print_r($doresponse); 
}

APIエラーコードでさえ、このエラーについてGoogleにはあまりありません。誰もこれに遭遇したことがありますか?

4

1 に答える 1

7

確かに、PayPal API エラー コードはあまり役に立ちません。

エラー コード 13113、または「買い手はこのトランザクションに対して PayPal で支払うことができません」は、PayPal がトランザクションの処理を拒否することでセキュリティ対策を講じたことを意味します。これは、次のいずれかの理由で発生する可能性があります (他にもいくつかありますが、ここではその一部を示します)。

  • 買い手のアカウントに十分な金額がありません
  • 購入者のアカウントに十分な金額がなく、クレジット カードへの請求に問題がある (設定で設定している場合)
  • 買い手が売り手に別の商品の返金を要求したため、PayPal は状況が解決されるまで買い手のアカウントから売り手に送金することをブロックしました。
  • バイヤーは不正行為の疑いがあるため、アカウントが凍結されています。
  • 購入者のアカウントは、何らかの理由で特定の販売者への送金に制限されています
  • 何らかの理由で購入者のアカウントが完全に凍結されている

残念ながら、コードを徹底的に調べなければ、誰も教えてくれることはほとんどありません。コードをチェックして、適切なフラグとその他のフラグがすべて設定されていることを確認します。数時間待ってもまだエラーが発生する場合 (特に複数のアカウントまたは新しいアカウントで)、PayPal に連絡する必要があります。

ひどいことだとは思いますが、トランザクションが失敗した正確な理由を教えてくれるのは PayPal だけです。

于 2012-07-15T19:50:30.977 に答える