2016-07-09 28 views
2

Ich teste die Braintree Sandbox (PHP) und obwohl ich eine gefälschte-nonce verwenden, die Transaktionen noch zeigen, geht durch gültigBraintree Sandbox Testing (fake Nonces)

ich einen dropin Frontend habe und einem PHP Backend

My Back-End-Code zum Testen sieht aus wie folgt:

$amount = '12.00'; 
$nonce = 'fake-processor-declined-visa-nonce'; 
$result = Braintree_Transaction::sale(['amount' => $amount, 
             'paymentMethodNonce' => $nonce, 
             'options' => ['submitForSettlement' => true] 
             ]); 
$debug = get_object_vars($result); 
print_r($debug); 

Ergebnis

Array 
(
    [success] => 1 
    [transaction] => Braintree\Transaction Object 
     (
      [_attributes:protected] => Array 
       (
        [id] => 9bnyb32r 
        [status] => submitted_for_settlement 
        [type] => sale 
        [currencyIsoCode] => EUR 
        [amount] => 12.00 
        [merchantAccountId] => somenamehere 
        [subMerchantAccountId] => 
        [masterMerchantAccountId] => 
        [orderId] => 
        [createdAt] => DateTime Object 

assued ich die falschen nouces gibt es für Ergebnis-Tests Fehler in der Sandbox ... oder bin ich etwas fehlt

https://developers.braintreepayments.com/reference/general/testing/php#test-amounts

Antwort

2

Vollständige Offenlegung: Ich bei Braintree arbeiten. Wenn Sie weitere Fragen haben, wenden Sie sich bitte an support.

Ungültige Nonces lösen einen nicht erfolgreichen card verification response aus, führen aber nicht dazu, dass Transaktionen fehlschlagen. Um eine erfolglose Transaktion zu simulieren, passen Sie stattdessen die amount of the transaction an.

+0

können Sie eine Kreditkartennummer angeben, die wir verwenden können. Diese Kreditkarte würde erfolgreich verifiziert, würde aber zum Zeitpunkt der Zahlung nicht bei der Bank ankommen. Dies ist sehr praktisch für UI-Funktionstests. Es wäre gut, wenn wir eine Kreditkarte hätten, die eine gültige Nonce gibt, aber sie würde bei der Zahlung scheitern. – j2emanue

+0

für diejenigen, die die gleiche Frage wie @ j2emanue in der Zukunft haben könnten: Braintree bietet gefälschte Karten, die wir verwenden können, um Transaktionen zu simulieren (sie funktionieren nur in der Sandbox afaik). Sie können hier gefunden werden: https://developers.braintreepayments.com/reference/general/testing/php#no-credit-card-errors – verboze

+0

so sagen Sie, wenn in Android ich Ihre Produktion sdk habe, dass ich diese Kreditautos verwenden kann Sie haben den Link angegeben? oder sagst du, dass mein Server Sandboxed sein muss? Ich suche nach einer Kreditkarte, die gefälscht sein kann in Android-Client. Ich habe keine Kontrolle über den Server. Ich will, dass es bei der Banküberprüfungszeit versagt. – j2emanue

2

Ich versuchte, einige ähnliche Dinge in PHP zu testen, ich fand einige hilfreiche, gut benannte Test Nonces in \Braintree\Test\Nonces in der PHP Braintree-Bibliothek. Ich konnte fake-valid-visa-nonce verwenden, um die Tests durchzuführen, die ich benötigte, um eine neue Zahlungsmethode zu erstellen.

+0

Danke, ihre Testfälle haben wirklich gute Beispiele für die Einrichtung geliefert! – verboze