【发布时间】:2014-01-09 20:57:19
【问题描述】:
提前感谢您为我提供的任何帮助。
我正在使用 ASP.NET C# MVC 4 制作一个网站,用户将在该网站上支付某种游戏内货币以添加到他们的帐户中,并且我使用 Paypal 作为我的用户的桥梁购买这种货币。我在使用 PayPal 的沙盒测试环境创建的网站上添加了一个“立即购买”按钮。这是表单的 HTML 代码:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top" id="PayPal">
<input type="hidden" name="custom" value="@SessionManager.CurrentUser.UserID">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="MHV7ZLEXJC6YJ">
<input type="hidden" name="on0" value="CurrencyAmounts">
<label for="os0">How Much?</label>
<select name="os0">
<option value="One Thousand">One Month $3.00 USD</option>
<option value="Six Thousand">Six Months $15.00 USD</option>
<option value="Ten Thousand">One Year $25.00 USD</option>
</select>
<br class="clearfix" />
<br />
<input type="hidden" name="currency_code" value="USD">
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
现在,表单确实发送了,我可以登录到我的沙盒用户购买它,并且交易确认。我的 IPN 侦听器正在记录我从 IPN 获得的所有数据,但是,每次自定义都没有任何价值。我做错了什么?
【问题讨论】:
-
如果您在提交前检查页面(使用开发工具),您是否在 item_number 表单元素中看到任何值?这将告诉您它是否只是没有从 Session 中填写,或者它是否在 POST 之后丢失。
标签: c# asp.net asp.net-mvc-4 paypal paypal-ipn