2016-04-02 7 views
1

Ich implementiere Paypal auf meiner Website bezahlen. Aber es gibt einige versteckte Formelemente zum Beispiel den Preis und diese können wir leicht manipulieren. Wie kann ich sie zum Beispiel in PHP perfekt verstecken, damit niemand den Wert manipulieren kann?Paypal Implementierung: Versteckte Elemente zu PHP

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 

    <input type="hidden" name="business" value="[email protected]"> 

    <input type="hidden" name="cmd" value="_xclick"> 

    <input type="hidden" name="item_name" value="Item Example 1"> 
    <input type="hidden" name="item_number" value="1"> 
    <input type="hidden" name="amount" value="5.95"> 
    <input type="hidden" name="currency_code" value="USD"> 

    <input type='hidden' name='cancel_return' value='http://example.com/cancel.php'> 
    <input type='hidden' name='return' value='http://example.com/success.php'> 

    <input type="image" name="submit" border="0" 
    src="https://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif" alt="PayPal - The safer, easier way to pay online"> 
    <img alt="" border="0" width="1" height="1" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" > 

</form> 

Die versteckten Elemente item_name, item_number, amount und currency_code Ich will sie nicht sehen. Gibt es eine Chance, sie zum Beispiel mit PHP oder irgendwie zu verstecken?

Vielen Dank!

+0

halten Sie die Informationen in Sitzung auf Ihrem Server und stornieren Sie die Reihenfolge, wenn die Werte geändert wurden, oder unterschreiben Sie die Bestellung mit einem HMAC und übergeben Sie diese an paypal und überprüfen Sie es, nachdem es geht –

Antwort

1

Wenn Sie bei Payments Standard bleiben und die Details ausblenden möchten, müssen Sie eine gehostete Schaltfläche verwenden. Während der Erstellung einer Schaltfläche in Ihrem PayPal-Konto gibt es eine Option "Schaltfläche bei PayPal speichern". Dadurch wird eine gehostete Schaltfläche erstellt. In diesem Fall werden alle Details bei PayPal gespeichert, sodass der Schaltflächencode nur eine Schaltflächen-ID enthält, die für niemanden etwas Schwieriges bedeutet.

Wenn Sie das Formular selbst erstellen, können Sie das nicht tun. Sie könnten tun, was @ Neil McGuigan erwähnt und versuchen, über IPN zu stornieren/erstatten, wenn die Daten nicht zu dem entsprechen, was es sein sollte, aber das ist nicht, was ich empfehlen würde.

Ich würde empfehlen, die Express Checkout API anstelle von Zahlungen Standard zu verwenden. Dies ist der sicherste Weg, um es zu erledigen, und wenn Sie mit Ihrer Website wachsen, werden Sie nicht so eingeschränkt sein wie mit Payments Standard.

Diese PayPal PHP SDK wird die Express Checkout API Anrufe sehr schnell und einfach für Sie machen. Insbesondere arbeiten Sie mit SetExpressCheckout, GetExpressCheckoutDetails und DoExpressCheckoutPayment.

Die Bibliothek wird mit Beispielen und Vorlagen geliefert, die bereit sind zu gehen, aber wenn Sie eine fully functional demo bevorzugen, sind diese auch verfügbar.