您好,我一直在尝试使用 Omnipay paypal 和 Laravel 4 将 paypal 与我的网站的购物车集成。到目前为止,我主要使用这个教程。
我仍处于初始阶段,但我遇到了障碍。当我尝试结帐时,我收到一条错误消息,提示“需要金额参数”。
我有点菜鸟,所以我可能会做一些愚蠢的事情,但如果我硬编码数量(即:'price' => 25.00,),那么它应该可以正常工作。解密和货币也都从数据库中提取并发送到贝宝页面罚款。我在这里发现的问题似乎并没有人们将数据动态地拉到他们的控制器上,所以也许我做错了什么?
这是我的控制器的相关部分:
<?php
use Omnipay\Omnipay;
class PaymentController extends Controller {
public function postPayment() {
$params = array(
'cancelUrl' => 'http://localhost/cancel_order',
'returnUrl' => 'http://localhost/payment_success',
'name' => Input::get('name'),
'description' => Input::get('description'),
'price' => Input::get('price'),
'currency' => Input::get('currency') );
Session::put('params', $params);
Session::save();
$gateway = Omnipay::create('PayPal_Express');
$gateway->setUsername('my username');
$gateway->setPassword('my pass');
$gateway->setSignature('my signature');
$gateway->setTestMode(true);
$response = $gateway->purchase($params)->send();
这是我的购物车结帐按钮:
{{ Form::open([ 'url' => 'pay_via_paypal', 'method' => 'post' ]) }}
{{Form::hidden('product',Product::find($productID)->name)}}
{{Form::hidden('description',Product::find($productID)->description)}}
{{Form::hidden('amount',Product::find($productID)->price)}}
{{Form::hidden('currency',Product::find($productID)->currency)}}
{{Form::submit('CHECKOUT')}}
{{Form::close()}}
表格可能看起来有点混乱,但在我提交之前,表格上的值都显示得很好。
谢谢你的帮助。