2017-08-23 3 views
0

Ich arbeite in Laravel 5.4 Meine Transaktionen sind erfolgreich, wenn ich einen 'fake_nonce'-String versuche, der von den Braintree-Dokumenten bereitgestellt wird. Aber wenn ich versuchte, die paymentMethodNonce zu bekommen, gibt es mir immer Fehler wie Nonce nicht gefunden. Und manchmal http Fehler !!! Wenn ich versuche, es selbst zu konfigurieren! Nehmen Sie einen Blick auf meine Controller-Funktion unterWie bekomme ich PaymentMethodNonce in Braintree API?

public function addOrder(Request $request){ 
    $customer = Braintree_Customer::create([ 
    'firstName' => $request->guest_name, 
    'email' => $request->guest_email, 
    'phone' => $request->guest_phone 
    ]); 
    $customer->success; 
    $customer->customer->id; 
    $find = Braintree_Customer::find($customer->customer->id); 
    $nonceFromTheClient = Braintree_PaymentMethodNonce::find($find); 
    $result = Braintree_Transaction::sale([ 
    'amount' => $request->subtotal, 
    'paymentMethodNonce' => $nonceFromTheClient, 
    'options' => [ 
     'submitForSettlement' => True 
    ] 
    ]); 
    if ($result->success) { 
     $settledTransaction = $result->transaction; 
    } else { 
     print_r($result->errors); 
    } 
    Cart::destroy(); 
    return view('guest/track', compact('result')); 
} 
+0

Bitte helfen Sie mir !!! –

Antwort

0

$nonceFromTheClient = Braintree_PaymentMethodNonce::find($find);

Ihr die falsche Nonce verwenden, müssen diese Nonce aus dem DropIn ui kommen und nicht auf Ihren Code generiert werden.

Überprüfen Sie die Methode onPaymentMethodReceived(), die im JS SDK bereitgestellt wird.

Please check this reference

Verwandte Themen