2017-05-05 3 views
0

Ich arbeite an Stripe-Integration und bemerkte, dass ich Token generieren kann, bin ich in der Lage, Betrag und bei der Verwendung generierten Tokens bin ich in der Lage, unterschiedliche Menge und scheint, dass Stripe ist in Ordnung. Das ist ein bisschen komisch, da ich Benutzer über einen Betrag bemerke, aber ich bin in der Lage, mit größeren Betrag zum Beispiel zu laden.Stripe-Zahlungen nicht validieren Betrag

Integration Typ: https://stripe.com/docs/checkout

Beachten Sie, dass ich Test-Account bin mit (Visa Genehmigt: 4242424242424242).

Zum Beispiel:

Frontend:

<form action=" method="POST"> 
<script 
    src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button" 
    data-key="pk_test_XXXX" 
    data-amount="2000" 
    data-name="Demo Site" 
    data-description="2 widgets ($20.00)" 
    data-image="/128x128.png"> 
</script> 
</form> 

Backend:

$ gateway = Omnipay :: create ('Streifen');

$gateway->initialize(array(
    'apiKey' => 'sk_test_xxxx', 
)); 

$response = $gateway->purchase([ 
    'amount' => 21.00, 
    'currency' => 'usd', 
    'name' => "name", 
    'description' => "description", 
    'zip_address' => "", 
    'metadata' => [ 
     'name' => "name", 
     'user_id' => "id" 
    ], 
    'token' => "tok_xxx", 
])->send(); 

Wie Sie sehen hier zur Verfügung gestellten ich größere Menge (21USD) als bemerkt Benutzer (20USD) und Streifen ist total in Ordnung mit, dass Antwort:

"Objekt" => "charge" " Betrag "=> 2100" Status "=>" erfolgreich "

Ist das normal?

+0

Haben Sie einen Link zu der Dokumentation, die zeigt, dass das Skript-Tag in einem solchen Format verwendet wird? Ich habe das noch nie zuvor gesehen. –

+0

Bitte beachten Sie die aktualisierte Beschreibung. – deividaspetraitis

Antwort

0

Das ist erwartetes Verhalten - die data-amount und data-currency Parameter, die Checkout nur für Anzeigezwecke verwendet werden, vorgesehen sind. Sie können diese Parameter auch nicht bereitstellen (z. B. wenn Sie Karteninformationen sammeln, um die gespeicherte Karte eines Kunden zu aktualisieren, und nicht sofort eine Gebühr erheben).

Es liegt in der Verantwortung jedes Händlers, den korrekten Betrag und die korrekte Währung anzugeben, andernfalls riskieren sie Rückbuchungen und Streitigkeiten ihrer Kunden (was wiederum dazu führen könnte, dass Stripe das Konto schließt, wenn die Rückbuchungsrate gilt) zu hoch).

Wenn Sie weitere Fragen oder Bedenken zu diesem Thema haben, empfehle ich Ihnen, sich direkt an Stripe's Support unter https://support.stripe.com/email zu wenden.