OmniPay APIを使用すると、2CheckoutからAuthorization Failed応答が返されます。2Checkout OmniPay - 認証に失敗しました
私は正常にOmniPayでStripeを接続していたので、2Checkoutを接続しました。あなたがそれをするとき、Githubの最初のパッケージはあなたにthe newer version from a user collizo4skyを得るように警告します。だから、私はやった、そしてそれは致命的なエラーなしでわずかに動作するようにした。
私のWebフォームでは、トークンを正しく生成し、2Checkoutのサンドボックスログでこれを確認しています。ただし、メッセージは、「認可は失敗しました」と戻ってくる
use Omnipay\Omnipay;
$sMerchantTransID = rand(11111111,99999999);
$oGateway = Omnipay::create('TwoCheckoutPlus_Token');
$oGateway->setPrivateKey($config->TWOCHECKOUT_PRIVATE_KEY);
$oGateway->setAccountNumber($config->TWOCHECKOUT_SELLERID);
$oGateway->setTestMode(true);
$oResponse = $oGateway->purchase(array(
'amount' => $sPrice,
'currency' => 'USD',
'token' => $sToken,
'transactionId' => $sMerchantTransID
))->send();
if (!$oResponse->isSuccessful()) {
die('ERROR: ' . $oResponse->getMessage());
}
:私は、カードを充電しようとするOmniPayにこのコードを使用します。だから、私は...このパスでcollizo4skyのパッケージのOmniPayのAPIのソースコードに
omnipay/vendor/collizo4sky/omnipay-2checkout/src/Message/TokenPurchaseRequest.php
を行ってきました...とのsendData()クラスメソッドのいくつかのログファイルのデバッグを追加しました。これは、と答えたもので、私は明白なプライバシー上の理由のために値の一部を変更したことに注意してください:
array (
'sellerId' => '901414261',
'privateKey' => 'EAEC8615-4C48-4D98-B7E5-4B6D8865E1BA',
'merchantOrderId' => 65639323,
'token' => 'FDI1ZTM3N2UtY2VkZS00NTM1LWE5MTctYzI4MjA5YWI4Yjhm',
'currency' => 'USD',
'total' => '519.00',
)
私は、生成パブリッシュキーが行ったようにはい、sellerIDとのPrivateKeyは、サンドボックスアカウントから来ました最初の場所でWebフォームのトークン。これは、サンドボックスのURLに提出されたときに
だから、とにかく、それはこのレスポンスを返す:私は間違って何をやっている
HTTP/1.1 400 Bad Request
Server: Apache-Coyote/1.1
Cache-Control: no-cache, no-store, must-revalidate
Date: Fri, 22 Apr 2016 03:30:37 GMT
Expires: 0
Pragma: no-cache
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
{"validationErrors":null,"response":null,"exception":{"errorMsg":"Authorization Failed","httpStatus":"400","exception":false,"errorCode":"600"}}
?
EDIT:
私は、彼らが提供する2Checkout-supported PHP libraryを使用してみました。私はまったく同じトランザクションを行い、それも "Authorization Failed"を返す。
サンドボックスを使用していてもアカウントの設定に問題がありますか?つまり、私はまだプロダクションで承認されておらず、デモを行うことができるようにサンドボックスを取得しようとしていました。
また、サンドボックスでAPIキーを再生成して再試行したところ、失敗しました。
私が使用したクレジットカードは、サンドボックスAPIキーの下でサンドボックスに提供したクレジットカードで、有効期限は12/18のCVV123を使用しました。私はそれから4桁の年が必要かもしれないと思ったので、それを更新してもう一度やり直してください。失敗したのは「Authorization Failed」と同じ一貫したエラーです。
「承認に失敗しました」の意味を確認すると、それが問題のクレジットカードであるように見えます。
これまでの私の感想は、私はすべて正しいことをしていると私のアカウントの旗であることを伝えています。つまり、通常のアカウントがまだ承認されていない場合でも、サンドボックスは機能しますか?
。あなたが正しいことをしているように見えますが、それはあなたのアカウントのものでなければなりません。私はそれがカードだとは思わない、私は彼らがサンドボックスモードでカードを検証するとは思わない。 – delatbabel
ベッドにぶつかる。修正はデモモードのパラメータでした。私はバックアップを取って数時間後に回答を掲示します。 – Volomike