6

REST API を使用して PayPal トランザクションを承認しています。支払いを確認して実行するために戻ってきたら、チェックアウト注文のために PayPal アカウントから名前、住所、電話番号などの支払者情報を取得して表示したいと考えています。確認ページ。(これは PayPal から入手できるはずなので、すべての請求先/配送先住所情報を入力する必要がないようにするためです。)

現在、返品は支払人に対してのみ表示されています。

PayPal\Api\Payment Object
(
    [_propMap:PayPal\Common\PPModel:private] => Array
        (
            [id] => PAY-2EC51985XH550123JKHG3C4Y
            [create_time] => 2013-06-28T15:53:23Z
            [update_time] => 2013-06-28T15:53:23Z
            [state] => created
            [intent] => sale
            [payer] => PayPal\Api\Payer Object
                (
                    [_propMap:PayPal\Common\PPModel:private] => Array
                        (
                            [payment_method] => paypal
                        )

                )

            [transactions] => Array
            ...

ドキュメントには次のように記載されています。

payer_info オブジェクト

  • payment_method が PayPal の場合、このオブジェクトは PayPal によって事前に入力されます。

( https://developer.paypal.com/webapps/developer/docs/api/#payerinfo-objectを参照)

支払いが実行された後でも、PayPal から payer_info オブジェクトを受け取りません。PayPal は、ユーザーを PayPal に送信する前に事前入力した情報のみを返すのでしょうか? 例えば:

$payer = new Payer();
$payer->setPayment_method('paypal');

Payment::get($pay_id)->getPayer()->getPayerInfo()->getShipping_address()REST API を使用して、ユーザーの名前/住所/電話/その他 (から利用できると期待していたもの) を取得する方法はありますか?

それとも、ユーザーに自分の努力を繰り返してもらい、チェックアウト ページに住所情報を入力してもらう必要がありますか? これは、支払い方法として PayPal を使用することの大きな利点の 1 つであるため、そうでないことを願っています。

4

1 に答える 1

5

他の誰かがこの問題を抱えている場合に備えて、回答を投稿すると思いました。

ほとんどの場合、REST API は出荷情報を返せないようです。特にGET /payments/paymentエンドポイントを使用する場合。POST /payments/payment/<PAYMENT_ID>/executeただし、以前にエンドポイントから配送情報を返すのを見たことがあります。

とにかく、上記のコメントに従うと、OP が REST API を捨てて Express Checkout に戻ったように見えます。出荷データを前もって取得したい場合は、これで十分です。

ただし、PayPal IPN を REST API と組み合わせて使用​​すると、コールバックで配送と請求の情報が提供されます。その時点で情報を収集することができます。

これを行う際に私が目にする唯一の問題は、アドレスが正しいことをユーザーに確認できないことです。ただし、PayPal は、ユーザーが支払いを行うときにこの情報を表示し、必要に応じて変更できるようにします。したがって、データが正確であると仮定しても安全だと思います。

于 2014-05-20T11:44:18.890 に答える