Paypal BuyNow - 使用params for returnUrl获取而不是POST

时间:2017-08-14 09:26:46

标签: paypal paypal-sandbox

我遇到了今天发现的问题。我有以下paypal按钮配置:

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

我没有更改任何可能在最后几天影响此代码的内容,但是,重定向POST参数丢失,重定向现在是GET而不是POST方法,即使rm = 2!

任何想法,发生了什么?

致以最诚挚的问候,

Antoine

已编辑:

我能够在JSFiddle上找出问题:如果我删除了item_name输入,那么它可以工作。我不知道为什么,但也许它可以帮助你告诉我我做错了什么!

1 个答案:

答案 0 :(得分:2)

我们遇到了同样的问题。 您需要启用“PDT”,然后自定义字段将返回到返回URL帖子的“cm”变量中。

“自动返回”也需要启用才能使用“PDT”,但如果您需要动态,仍然可以在按钮表单中设置返回URL而不是“自动返回”配置。

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

尝试使用此沙箱付款按钮,看看在我们的返回网址上记录时的响应情况。

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