2016-06-24 18 views
0

私はbraintreegatewayを​​モードで次のコードとともに使用しています。braintreegatewayキャッチされない例外

コードdeveloper site

require_once 'braintree/lib/Braintree.php'; 

Braintree_Configuration::environment('sandbox'); 
Braintree_Configuration::merchantId('marchentid'); 
Braintree_Configuration::publicKey('publickey'); 
Braintree_Configuration::privateKey('privatekey'); 

$result = Braintree_Transaction::sale([ 
      'amount' => '100.00', 
      'orderId' => '123', 
      'merchantAccountId' => 'marchentid', 
      'paymentMethodNonce' => 'nonceFromTheClient', 
      'customer' => [ 
       'firstName' => 'kapil', 
       'lastName' => 'Smith', 
       'company' => 'mycompany', 
       'phone' => '1234567890', 
       'website' => 'http://mywebsite.com', 
       'email' => 'myemail' 
      ], 
      'billing' => [ 
       'firstName' => 'kapil', 
       'lastName' => 'Smith', 
       'company' => 'mycompany', 
       'streetAddress' => 'address', 
       'extendedAddress' => 'Suite 403', 
       'locality' => 'India', 
       'region' => 'IN', 
       'postalCode' => 'zipcode', 
       'countryCodeAlpha2' => 'IN' 
      ], 
      'shipping' => [ 
       'firstName' => 'kapil', 
       'lastName' => 'Smith', 
       'company' => 'mycompany', 
       'streetAddress' => 'address', 
       'extendedAddress' => 'Suite 403', 
       'locality' => 'India', 
       'region' => 'IN', 
       'postalCode' => 'zipcode', 
       'countryCodeAlpha2' => 'IN' 
      ], 
      'options' => [ 
       'submitForSettlement' => true 
      ] 
     ]); 

if ($result->success) { 
    print_r("success!: " . $result->transaction->id); 
} else if ($result->transaction) { 
    print_r("Error processing transaction:"); 
    print_r("\n code: " . $result->transaction->processorResponseCode); 
    print_r("\n text: " . $result->transaction->processorResponseText); 
} else { 
    print_r("Validation errors: \n"); 
    print_r($result->errors->deepAll()); 
} 

から使用され、その結果がここで間違って何

Fatal error: Uncaught exception 'Braintree\Exception\Authorization' in /var/www/html/api/braintree/lib/Braintree/Util.php:61 Stack trace: #0 /var/www/html/api/braintree/lib/Braintree/Http.php(47): Braintree\Util::throwStatusCodeException(403) #1 /var/www/html/api/braintree/lib/Braintree/TransactionGateway.php(443): Braintree\Http->post('/merchants/dmmt...', Array) #2 /var/www/html/api/braintree/lib/Braintree/TransactionGateway.php(49): Braintree\TransactionGateway->_doCreate('/transactions', Array) #3 /var/www/html/api/braintree/lib/Braintree/TransactionGateway.php(268): Braintree\TransactionGateway->create(Array) #4 /var/www/html/api/braintree/lib/Braintree/Transaction.php(494): Braintree\TransactionGateway->sale(Array) #5 /var/www/html/api/payment.php(58): Braintree\Transaction::sale(Array)

6 {main} thrown in /var/www/html/api/braintree/lib/Braintree/Util.php on line 61

のですか?

+0

試したコードを入力してください!ここでは、サンプルコードで提供されている値のみが表示されます。 – NnN

答えて

1

全開示:私はブレーントリーで働いています。ご不明な点がございましたら、supportまでお気軽にお問い合わせください。

@mfahadiと同様に、Braintree_Configurationコールにコードにキーが含まれていない可能性がありますが、サンドボックスアカウントの場合でもキーをStackOverflowに投稿しないでください。したがって、意図的にフィルタリングされていれば:うまくいっています。そうでない場合は、get your client keysのガイドをご覧ください。あなたがテストナンスin the testing reference guide.

を見つけるとして上記の行を置き換えることができます

'paymentMethodNonce' => 'nonceFromTheClient', 

第二の問題は、あなたが実際のクライアントナンスして、以下の行に「nonceFromTheClient」を置き換えるものではありませんでしたですあなたの2番目の問題を解決するには、次の行を入力してください:

'paymentMethodNonce' => 'fake-valid-nonce', 
+0

あなたの答えをありがとう。私はすでにその問題を修正しています。そしてあなたはそれが 'nonceFromTheClient'のせいであると正しいです。これを理解するには時間がかかります。 あなたが 'nonceFromTheClient'の利用に関するあなたの文書を改善するBraintreeであると言いたいことが一つあります – urfusion

1

提供しなければならない情報のプレースホルダーを持つサンプルコードを実行しようとしています。あなたはそれが動作するようにその情報を追加する必要があります。

Braintree_Configuration::merchantId('marchentid'); 
Braintree_Configuration::publicKey('publickey'); 
Braintree_Configuration::privateKey('privatekey'); 

上記のコードでは、merchentid、publikey、およびprivatekeyフォームをBraintreeコントロールパネルに設定する必要があります。

'paymentMethodNonce' => 'nonceFromTheClient', 

次に、クライアントからnounceを追加します。私は詳細な理解を得るためにPHPサーバーの実装とホストされたフィールドのためのドキュメントを読むことをお勧めします。

Hosted Fileds Docs

PHP Server Docs

*私は十分な評判を持っていないので、コメントとして追加されていません。

関連する問題