背景
我正在销售在线直播课程,用户可以购买例如5个直播课程。我的网站是使用CodeIgniter构建的,我的结帐页面如下所示:
我的主要支付选项是Stripe网关,我昨天成功整合了最小的麻烦。我正在使用Stripe.js并提交一个隐藏的表单,弹出Stripe付款表单,然后重定向到处理器控制器......
另一方面,PayPal是一个NIGHTMARE。我对应该选择哪种API感到困惑......Checkout REST显然是他们最现代化和最新的自定义集成选项......这就是PayPal文档所说的:
使用In-Context增强的PayPal Express Checkout可以提供您的支持 为客户提供简化的结账体验,让他们保持本地化 您的网站在整个付款授权过程中都可以使用 他们使用PayPal余额,银行账户或信用卡付款 不在您的网站上共享或输入任何敏感信息。
...奇
我尝试了什么
我正处于Enable In-Context Checkout步骤,由于缺少任何服务器端代码示例,这就是我迷失的地方。
我添加了示例代码如下。
<!-- paypal payment -->
<form id="myContainer" method="post" action="<?php echo base_url() . 'paypal/process'; ?>"></form>
<script>
window.paypalCheckoutReady = function () {
paypal.checkout.setup('MY-MERCHANT-ID-HERE', {
environment: 'sandbox',
container: 'myContainer'
});
};
</script>
<script src="http://www.paypalobjects.com/api/checkout.js" async></script>
<!-- end paypal payment -->
问题
当我点击PayPal按钮时,我在表格动作网址(paypal / process)中回显的任何内容都显示在弹出窗口中......所以如果我放了......
class Paypal extends MX_Controller
{
public function process()
{
echo '<h1>test</h1>';
}
}
然后当我点击PayPal按钮时,我得到了这个....
它应该是login-to-paypal窗口,但它显示我的控制器数据!
问题:
我应该把什么放在我的控制器中?更进一步说,在paypal的文档网站上发现的信息在哪里?
尾注
Stripe非常直观,我可以通过将订单数据回显到他们的javascript函数中来轻松地将我的数据添加到他们的弹出窗体中...但此时paypal显然是泥巴。