提问者:小点点

Omnipay贝宝与laravel 4的集成


我想在Laravel4中集成Omnipay paypal。我经历过,但我不明白该怎么做。我没找到任何文件。我经历过这个,这个,这个。我已经使用Composer安装了它。现在我对以下问题感到困惑。

$gateway = Omnipay::create('PayPal_Express');
$gateway->setUsername('XXXXX');
$gateway->setPassword('XXXX');
$gateway->setSignature('XXXXX');

>

  • 这里会给谁的凭据?正在购买的人或将把钱转给的人。我在哪种情况下会给别人的证书?

    用户将如何进行交易?我看过它的purchase和purchasecomplete函数,但不能理解它。在正常的Paypal集成中,我们通常会将用户重定向到Paypal,在那里他或她完成交易,然后再回来。我怎么能在这里做这些?

    有人能指导我完整的文档在那里我可以阅读它的整个流程吗?


  • 共1个答案

    匿名用户

    根据你的点数

    1-)这里你将给一个谁的钱将转移的凭据。买家将给他的凭据在贝宝网站,他将被重定向。

    2-)拥有gateway对象并设置凭据后,您将调用omnipay的purche()方法,如下所示

    $response = $gateway->purchase(
                        array(
                            'cancelUrl' => 'www.xyz.com/cancelurl',
                            'returnUrl' => 'www.xyz.com/returnurl', 
                            'amount' => 25,
                            'currency' => 'USD'
                        )
                )->send();
    
    $response->redirect();
    

    这将重定向用户到贝宝网站,在那里他将提供他的凭据和做一个交易。在paypal交易成功后,用户将被重定向到您在returnurl中指定的URL。在returnurl中,您将创建与前面相同的gateway对象,如下所述。

     $gateway = Omnipay::create('PayPal_Express');
     $gateway->setUsername('XXXXX');
     $gateway->setPassword('XXXX');
     $gateway->setSignature('XXXXX');
    
    
      $response = $gateway->completePurchase(
                        array(
                            'cancelUrl' => 'www.xyz.com/cancelurl',
                            'cancelUrl' => 'www.xyz.com/cancelurl',
                            'returnUrl' => 'www.xyz.com/returnurl', 
                            'amount' => 25,
                            'currency' => 'USD'
                        )
                )->send();
    
    
        $data = $response->getData(); // this is the raw response object
        echo '<pre>';
        print_r($data);
    

    completePurchase方法将完成事务,您将在数组中获得响应。

    注当用户在返回url上重定向时,url还包含transaction_id和payer_id。:-)我希望它很简单。