2016-04-02 31 views
1

Web siteme Paypal ile ödeme yapıyorum. Ama örneğin gizli fiyat formları ve bunlar kolayca manipüle edebiliyoruz. Bunları PHP'de mükemmel olarak nasıl gizleyebilirim, böylece kimse değeri manipüle edemez mi?Paypal Uygulaması: PHP için Gizli Unsurlar

<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> 

gizli elemanları item_name, item_number, amount ve currency_code onları görmek istemiyorum. Bunları örneğin PHP veya bir şekilde saklamak için bir şans var mı?

Çok teşekkür ederim!

+0

Bilgileri sunucunuzdaki oturumda saklayın ve değerler değiştirildiyse siparişi iptal edin veya siparişi HMAC ile imzalayın ve PayPal'a aktarın ve sonra kontrol edin. –

cevap

1

Ödemeler Standardına bağlı kalmak ve ayrıntıları saklamak için barındırılan bir düğmeyi kullanmanız gerekir. PayPal hesabınızda bir düğme oluşturma işlemi sırasında "PayPal'da düğmeyi kaydetme" seçeneği vardır. Bu, barındırılan bir düğmeyi oluşturacaktır, ki bu durumda tüm detaylar PayPal'da saklanır, bu nedenle düğme kodunda sadece herhangi bir şeyi zorlayan herhangi bir kimseye hiçbir şey ifade etmeyen bir düğme kimliği vardır.

Eğer formu kendiniz yapıyorsanız, bunu yapamazsınız. @Neil McGuigan'dan bahsetmişken, verilerin ne olması gerektiği ile eşleşmiyorsa IPN yoluyla iptal etmeyi/geri ödemeyi denemeyi başarabilirdiniz, ancak bunu tavsiye edeceğim şey bu değil.

Ödeme Standartları yerine Express Checkout API kullanılmasını öneririm. Bunu yapmanın en güvenli yolu budur ve sitenizle birlikte büyüdüğünüzde, Ödemeler Standardı'ndaki kadar sınırlı olmayacaksınız.

Bu PayPal PHP SDK, Express Checkout API çağrılarını sizin için çok hızlı ve kolay hale getirecektir. Özellikle, SetExpressCheckout, GetExpressCheckoutDetails ve DoExpressCheckoutPayment ile çalışacaksınız.

Kitaplık, gitmeye hazır olan örnek ve şablonlarla birlikte gelir, ancak fully functional demo'u da tercih edebilirsiniz.