php - Omnipay Paypal 与 laravel 4 的集成

标签 php paypal omnipay

我想在 laravel 4 中集成 Omnipay paypal。我经历过,但我无法理解如何去做。我没有找到任何文档。我经历了this , thisthis . 我已经使用 Composer 安装了它。现在我对以下问题感到困惑。

$gateway = Omnipay::create('PayPal_Express');
$gateway->setUsername('XXXXX');
$gateway->setPassword('XXXX');
$gateway->setSignature('XXXXX');
  1. 此处将提供给谁凭据?正在购买的人或将向其转账的人。我要么提供其他人的凭据?

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

有人可以指导我完整的文档,我可以在其中阅读整个流程吗?

最佳答案

根据你的观点

1-) 在这里,您将提供要向其转账的人的凭证。买家将在 PayPal 网站上提供他的凭据,他将被重定向。

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

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

$response->redirect();

这会将用户重定向到 paypal 站点,他将在该站点提供他的凭据并进行交易。在 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。 :-) 我希望它很简单。

关于php - Omnipay Paypal 与 laravel 4 的集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20756067/

相关文章:

php - 现场 Codeigniter https 页面

Paypal 沙盒生成消息 3005

laravel-4 - 如何使用 OmniPay 获得 PayPal_Express 响应?

codeigniter - 如何使用 omnipay 通过 CodeIgniter 实现在线支付?

Php session 固定示例和修复

php - 如何编辑这个日期选择器?

php - paypal 与 Website Payments Standard 集成,通过电子邮件发送下载链接

paypal - Omnipay 和 Payum 的区别

php - 有没有办法从关闭功能中知道退出状态代码?

php - CakePHP - 代码 $hasOne 的结果