3

2Checkout のサポートされている PHP 用ライブラリを使用して、提供された例と自分の資格情報を使用して API を介してサンドボックスで払い戻しを行うのに問題があります。私は何を間違っていますか?サンドボックスで問題なく請求できますが、払い戻しはできないことに注意してください。

<?php

error_reporting(E_ALL);
ini_set('display_errors','On');
header('Content-Type: text/plain');

require_once('lib/Twocheckout.php');

$sChargeID = '4093729353592'; // my order ID
Twocheckout::username('USER'); // my username
Twocheckout::password('PASSWORD'); // my password
Twocheckout::sandbox(true);

Twocheckout::verifySSL(false);

$charge = Twocheckout_Sale::refund(array(
    'sale_id' => $sChargeID,
    'comment' => 'Customer decided the item did not meet expectations and it was within their refund period.',
    'category' => 2 // did not like item
));

echo "\nRESPONSE = \n";
print_r($charge);
echo "\n";

CURL 応答をダンプすると、次のように表示されます。

{
   "errors" : [
      {
         "code" : "FORBIDDEN",
         "message" : "Access denied to API"
      }
   ]
}
4

1 に答える 1

3

API の払い戻しに関して、2Checkout で明確にされていないことがいくつかあります。

  1. サンドボックスのパスワード リセット メール サービスが機能しません。これについては、テクニカル サポートから回答がありました。

  2. サンドボックス (ライブを除く) ダッシュボードに移動し、[アカウント] > [ユーザー管理] をクリックする必要があります。「** ユーザーは API とセラー エリアの両方にアクセスできません」という小さなメモが表示されます。また、自分のアカウントには API アクセス権限と API 更新権限がないことに気付くでしょう。つまり、そのユーザー管理画面から別のアカウントを作成する必要があり、作成する場合は、管理 API および API 更新機能をオフにします。次に、そのユーザー名とパスワードを使用しますが、他のアカウントと同じアカウント ID を使用します。この新しいユーザーは、API を介して払い戻しを行うことができますが、ダッシュボードにログインできないことに注意してください。

請求は「管理 API」を使用しないことに注意してください。ユーザーとパスの組み合わせではなく、API キーを利用する別の API を使用します。1 つの API には API キーを使用できるが、もう 1 つの API には制限されたユーザー/パスの組み合わせを使用する必要があるというのは、まったく意味がありません。

2Checkout が Stripe よりも魅力的でないのは、この種のフープですが、Stripe のように迅速なオンボーディングとトークンベースの支払いを備えているサービスはほとんどありません。2Checkout は私の「2 番目に良い選択」です。

于 2016-05-02T20:38:58.560 に答える