我正在尝试在我的网站整合Paypal支付网关。我使用codeigniter ci-merchant库。但我不能在PayPal结账页面自动填写账单细节。我像下面这样传递了所有的细节:
$params = array(
'amount' => 1,
'item' => 'myitem',
'description' => 'Your_item_description',
'currency' => $this->config->item('currency'),
'return_url' => base_url() . 'payment/payment_return',
'cancel_url' => base_url() . 'payment/cancel',
'first_name' => 'myname',
'last_name' => 'mynamelast',
'address1' => 'btm',
'address2' => 'bangare',
'city' => 'bangalore',
'state' => 'karnataka',
'zip' => '460078'
);
这是正确的方式吗?请帮助。
正确的方法在下面
$this->load->library('merchant');
$this->merchant->load('paypal_express');
,然后使用默认设置
$settings = $this->merchant->default_settings();
$params = array(
'amount' => 100.00,
'currency' => 'USD',
'return_url' => 'https://www.example.com/checkout/payment_return/123',
'cancel_url' => 'https://www.example.com/checkout');
$response = $this->merchant->purchase($params);
这将创建一个支付请求与贝宝,并立即重定向客户离开你的网站。当客户完成付款后,他们将被发送到您指定的返回URL。一些支付网关直接在您的站点上接受信用卡(现场网关),您将立即收到$响应,而不会重定向客户。
则print_r($response) ; die() ;
,检查响应
查看详细信息http://ci-merchant.org/
处理响应
从purchase()或purchase_return()方法返回的$response对象将是Merchant_response类的一个实例。响应将有5个状态之一,代表支付的状态:
Merchant_response::AUTHORIZED
Merchant_response::COMPLETE
Merchant_response::FAILED
Merchant_response::REDIRECT
Merchant_response::REFUNDED
这里是paypal express使用Ci merchant的全部支付过程
,如果你想使用它没有重定向,然后使用authorize.net或paypal pro。