15

Omnipay ペイパルを に統合したいですlaravel 4。私は経験しましたが、それを行う方法を理解できませんでした。ドキュメントは見つかりませんでした。私はこれ、これ、これ経験しました。Composerを使用してインストールしました。今、私は次の質問で混乱しています。

$gateway = Omnipay::create('PayPal_Express');
$gateway->setUsername('XXXXX');
$gateway->setPassword('XXXX');
$gateway->setSignature('XXXXX');
  1. 誰の資格情報がここで与えられますか? 購入される方、または送金される方。他の人の資格情報が与えられる場合はどちらですか?

  2. ユーザーはどのように取引を行いますか? purchase と purchasecomplete 関数を見てきましたが、理解できませんでした。通常の Paypal 統合では、通常、ユーザーを Paypal にリダイレクトし、そこでユーザーはトランザクションを完了してから戻ってきます。ここでこれを行うにはどうすればよいですか?

フロー全体を読むことができる完全なドキュメントを誰かに教えてもらえますか?

4

1 に答える 1

21

あなたのポイントに応じて

1-) ここで、送金先の資格情報を提供します。買い手は、リダイレクトされる PayPal サイトで資格情報を提供します。

2-) ゲートウェイ オブジェクトを取得し、資格情報を設定した後purchase()、次のように omnipay のメソッドを呼び出します。

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

$response->redirect();

これにより、ユーザーは資格情報を提供して取引を行うペイパル サイトにリダイレクトされます。Paypal での取引が成功すると、ユーザーは で指定した URL にリダイレクトされますreturnurl。そして、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 も含まれます:-) 非常にシンプルであることを願っています。

于 2013-12-26T05:44:07.073 に答える