在处理表单的数据后,有一种非常简单的方法可以重定向到 PayPal。因此,您只应遵循本条目中的原则。
首先,我从我的插件代码中为 WordPress 初始化设置了一个操作:
add_action( 'init', 'my_init');
现在,是时候实现“my_init”函数了:
if( !function_exists( 'my_init' ) ){ // Use function_exists to avoid conflicts
function my_init(){
if( $_POST[ 'unique_variable' ]){ // A form field to identify we are processing the form
//...process here your form
// and then print the form to be redirected to PayPal
?>
<form action="https://www.paypal.com/cgi-bin/webscr" name="myform" method="post">
<input type="hidden" name="business" value="seller@email.com" />
<input type="hidden" name="item_name" value="Product Name" />
<input type="hidden" name="item_number" value="Product Number" />
<input type="hidden" name="amount" value="10" />
<input type="hidden" name="currency_code" value="USD" />
<input type="hidden" name="lc" value="EN" />
<input type="hidden" name="return" value="URL to the product after check the payment" />
<input type="hidden" name="cancel_return" value="URL to use if user cancel the payment process" />
<input type="hidden" name="notify_url" value="URL of IPN in your website to check the payment" />
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="page_style" value="Primary" />
<input type="hidden" name="no_shipping" value="1" />
<input type="hidden" name="no_note" value="1" />
<input type="hidden" name="bn" value="PP-BuyNowBF" />
<input type="hidden" name="ipn_test" value="1" />
</form>
<script type="text/javascript">document.myform.submit();</script>
<?php
exit; // It is very important stop the WordPress in this point
}
}
}
您应该修改 PayPal 表单字段的值,包括您的电子邮件、IPN 的 URL、取消和退货页面、产品名称、编号和要收取的金额。
注意打印PayPal表单后的“exit”语句,需要停止PHP执行,document.myform.submit(); 加载后提交 PayPal 表单。
这个主题的一个很好的起点是插件计算字段表单的高级版本(http://wordpress.org/plugins/calculated-fields-form/)
;-) 埃里克