我有一个本地版本的客户端站点在我的机器上使用 MAMP 在 Wordpress 安装中运行。该网站包含一个PayPal捐赠表格,该表格由另一位开发人员撰写,但在客户设置PayPal帐户之前未完成。客户现在有了这个账户,并聘请我使捐赠表格"上线"。显然,我想在翻转开关以使其在他们的网站上生效之前对此进行测试。 当我尝试将表单提交到我的 PayPal Sandbox 帐户进行测试时,浏览器转到正确的 URL,但我在浏览器中收到以下错误消息:
HTTP 状态 405 - 不支持请求方法"POST">
根据PayPal的文档,表单的方法必须是"发布"。此外,我已经在 MAMP 的安装上成功测试了具有类似PayPal表单的其他站点。我的问题是:代码中是否有我没有捕获的错误(正如我所说,我没有写这个(,或者是否有我需要在 MAMP 中更改的服务器权限?如果是后者,我如何在 MAMP 中更改服务器权限,因为我似乎在任何地方都找不到该选项。
以下是提交给PayPal的代码:
<form method="post" action="https://www.sandbox.paypal.com">
<div id="small-button-container" class="">
<div id="twenty-five" class="lightred general_button blue_button form_small_button selected_amount select_state_color_btn"><span>25</span></div>
<div id="fifty" class="general_button blue_button form_small_button select_state_color_btn"><span>50</span></div>
<div id="one-hundred" class="general_button blue_button form_small_button select_state_color_btn"><span>100</span></div>
<div id="two-hundred" class="general_button blue_button form_small_button select_state_color_btn"><span>200</span></div>
</div>
<div id="other-amount" class="general_button blue_button form_other_amount">
<span><img src="<?php $root ?>/images/close.png"/>
</span>
<label>$</label><input class="whitetext" type="text" name="other-amount" value="143">
</div>
<div id="other-amount-button" class="general_button blue_button select_state_color_btn">
<span>OTHER</span>
</div>
<input type="hidden" name="LOGIN" value="(Sandbox Test Account Here)">
<input type="hidden" name="PARTNER" value="PayPal">
<input id="donation-amount" type="hidden" name="AMOUNT" value="0">
<input id="donation_description" type="hidden" name="DESCRIPTION" value="Tax deductible donation to (Client's Name Here) (Tax Identification Number: XXXX)">
<input type="hidden" name="TYPE" value="S">
<input class="general_button blue_button submit_button" id="submit" type="submit" value="Donate">
</form>
注意:此代码中还有很多其他内容,因为它设置为在提交之前计算选择的捐赠金额。
事实证明,我对导致问题的代码有几个问题,并且都不涉及服务器配置。根据PayPal的文档,表单应该如下所示:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="(your PayPal key here)">
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_donate_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>