3

Amazon ペイメント (Amazon でのログインではなく、支払いのみ) を自分のサイトに統合しようとしています。

支払いの認証フォームを正常に表示できます。

<div id="AmazonPayButton" />
          @{
              var callbackurl = string.Format("{0}://{1}/Account/AmazonConfirm", Request.Url.Scheme, Request.Url.Authority);
           }
           <script type="text/javascript">
               OffAmazonPayments.Button("AmazonPayButton", "M_MYSELLERID_1234567", {
                   type: "PwA",
                   size: "medium",
                   authorization: function() {
                      loginOptions =
                           {scope: "payments:widget", popup: true };
                      authRequest = amazon.Login.authorize(loginOptions, "@(callbackurl)");
                   },
                   onError: function(error) {
                        alert('We could not connect to Amazon to process your payment, try again later');
                   }
              });
      </script>
</div>

認証後、Amazon は私のコールバック URL に正常にリダイレクトされます。しかし、同じ販売者 IDでウォレット ウィジェットを表示しようとすると、「無効な販売者 ID」というエラーが表示されます。

<div id="walletWidgetDiv">
    </div>
    <script>
        new OffAmazonPayments.Widgets.Wallet({
            sellerId: 'M_MYSELLERID_1234567',
            onReady: function(billingAgreement) {
                var billingAgreementId = billingAgreement.getAmazonBillingAgreementId();
            },
            agreementType: 'BillingAgreement',
            design: {
                size : {width:'400px', height:'260px'}
            },
            onPaymentSelect: function(billingAgreement) {
                // Replace this code with the action that you want to perform
                // after the payment method is selected.
            },
            onError: function(error) {
                alert(error.getErrorMessage());
            }
      }).bind("walletWidgetDiv");
    </script>

ここに画像の説明を入力

ウォレットの表示が拒否されるだけで、認証が機能するのはなぜですか?

彼の回答で@Brent Douglasを更新すると、販売者IDを再確認するようになり、スクリプト参照の1つで間違ったIDを指定していました。次のエラーが表示されます。

「出品者 ID は、リクエストを実行するのに適切な状態ではありません」

それが何を意味するのかわかりません。アカウントを確認したところ、入金/銀行情報が指定されており、統合設定ページには他に何もフラグが立てられていません。アカウントに追加/確認する必要があるものは他にありますか? (一般的なウェブページの URL やその他の情報以外)

4

2 に答える 2

2

セラーセントラルのアカウントにログインし、上部のドロップダウンで「Amazon Payments Advanced」が選択されていることを確認し、右上の「設定」をクリックしてから「統合設定」をクリックします。このページには、「あなたのマーチャント ID」が表示されます。これがあなたの出品者IDです。どこでも M_MYSELLERID_1234567 をこの販売者 ID に置き換えます。

正しい販売者 ID を使用していると仮定すると、ウォレット ウィジェットを表示するハンドル ログイン ページに以下が含まれていることを確認する必要があります。

<!-- since you are using 'popup' -->
<script type='text/javascript'>
    window.onAmazonLoginReady = function () {
        amazon.Login.setClientId('[YOUR_CLIENT_ID]');
        amazon.Login.setUseCookie(true);
    };
</script>

次に、Widgets.js ファイルを含める必要があります。

サンドボックス モードでは、これを使用します。

<script src='https://static-na.payments-amazon.com/OffAmazonPayments/us/sandbox/js/Widgets.js'></script>

本番環境では、これを使用します。

<script src='https://static-na.payments-amazon.com/OffAmazonPayments/us/js/Widgets.js'></script>
于 2014-10-21T17:12:15.803 に答える
0

まったく同じエラーで検索したところ、このリンクが見つかりました。

これは、「Amazon Payments には SandBox 資格情報を使用する必要がある」ことを示唆しています。

このリンクを確認してください。

于 2014-10-21T17:12:36.287 に答える