Paypal BuyNow - GET instead of POST with params for returnUrl

五迷三道 提交于 2019-11-28 09:12:55

问题


I´m running into an issue that I detected today. I have the following paypal button config :

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" i d="paypalFormId">
    <input type="hidden" name="cmd" value="_xclick">
    <input type="hidden" name="business" value="mybusinessID">
    <input type="hidden" name="lc" value="DE">
    <input type="hidden" name="button_subtype" value="services">
    <input type="hidden" name="no_note" value="1">
    <input type="hidden" name="no_shipping" value="2">
    <input type="hidden" name="item_name" value="MyProductName">
    <input type="hidden" name="amount" value="1.00">
    <input type="hidden" name="custom" value="somecustom infos needed in the redirection">
    <input type="hidden" name="rm" value="2">
    <input type="hidden" name="return" value="https://myreturnurl.com">
    <input type="hidden" name="cancel_return" value="https://mycancelurl.com">
    <input type="hidden" name="currency_code" value="EUR">
    <input type="hidden" name="notify_url" value="myIPNUrl">
    <input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHosted">
    <div class="row">
       <button type="submit" class="btn btn-submit-next pull-right">Bestellung abschließen</button>
    </div>

I didn´t change anything that could impact this code in the last days, nevertheless, redirection POST parameters are missing and redirection is a GET now and not a POST method anymore, even with the rm=2 !

Any idea, what´s going on ?

Best regards,

Antoine

Edited :

I was able to isolate the issue on JSFiddle : if I remove the item_name input then it works. I have no clue why but maybe it helps you guy telling me what I do wrong !


回答1:


We had the same problem. You need to enable "PDT", then the custom field will be returned in the "cm" variable of the return url post.

"Auto Return" also needs to be enabled to use "PDT", but you can still set the return URL in the button form post instead of in the "Auto Return" config if you need it to be dynamic.

https://developer.paypal.com/docs/classic/products/payment-data-transfer/

Try out this sandbox pay button and see what the response looks like when it is recorded on our return URL.

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick"><input type="hidden" name="amount" value="0.67">
<input type="hidden" name="cancel_return" value="http://test.smsportal.co.za/onlinePaymentv2/Testing3rdPartyResponse.aspx"> 
<input type="hidden" name="custom" value="this is the custom variable. it is named 'cm' in the returned Url."> 
<input type="hidden" name="return" value="http://test.smsportal.co.za/onlinePaymentv2/Testing3rdPartyResponse.aspx"> 
<input type="hidden" name="rm" value="2"> 
<input type="hidden" name="cbt" value="Return to Merchant"> <input type="hidden" name="business" value="paypalmerchant@smsportal.com">
<input type="hidden" name="item_name" value="Credit Purchase">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="button_subtype" value="services"><input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest">
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="Pay now"><img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"></form>


来源:https://stackoverflow.com/questions/45671366/paypal-buynow-get-instead-of-post-with-params-for-returnurl

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!