0

PayPal アカウントの存続期間中に変更されないハード識別子を見つけようとしていますが、

REST API には独自のユーザー識別子があるようです (スコープがopenidの場合、 openidconnect/userinfoリソースから返すことができます) 。

残念ながら、この ID は PayRequest を発行するときに Adaptive API が期待するものではありません。

sender.accountId : アカウント ID 値 (エクスプレス チェックアウト API で使用される支払人 ID 値と同じです)。アカウント ID の値は、暗号化された PayPal アカウント ID です。

これは紛らわしいです。REST API は Adaptive API とは異なり、電子メールを使用するだけでは不十分であることは理解しています。データベースに識別子を長期間保存する必要があり、ユーザーが PayPal を通じて電子メール アドレスを変更する可能性があるためです。

ありがとう、

アサフ。

4

1 に答える 1

0

事前承認支払いを使用する場合、送信者 ID は必要ありません。事前承認キー自体は、それを承認した送信者に関連しています。

以下は、送信者 ID がなくても問題なく機能する事前承認キーを使用した Pay の要求と応答の例です。

リクエスト

<?xml version="1.0" encoding="utf-8"?>
<PayRequest xmlns="http://svcs.paypal.com/types/ap">
  <requestEnvelope xmlns="">
    <detailLevel>ReturnAll</detailLevel>
    <errorLanguage>en_US</errorLanguage>
  </requestEnvelope>
  <actionType xmlns="">PAY</actionType>
  <cancelUrl xmlns="">http://paypal.angelleye.com/paypal/class/1.2/Pay_Cancel.php</cancelUrl>
  <clientDetails xmlns="">
    <applicationId xmlns="">APP-80W284485P519543T</applicationId>
    <ipAddress xmlns="">192.168.1.1</ipAddress>
  </clientDetails>
  <currencyCode xmlns="">USD</currencyCode>
  <preapprovalKey xmlns="">PA-2AY45015CC5060422</preapprovalKey>
  <receiverList xmlns="">
    <receiver xmlns="">
      <amount xmlns="">5.00</amount>
      <email xmlns="">usb_1329725429_biz@angelleye.com</email>
    </receiver>
  </receiverList>
  <sender>
    <useCredentials xmlns=""></useCredentials>
  </sender>
  <account xmlns="">
    <phone xmlns=""></phone>
  </account>
  <returnUrl xmlns="">http://paypal.angelleye.com/paypal/class/1.2/Pay_Return.php</returnUrl>
</PayRequest>

応答

<?xml version='1.0' encoding='UTF-8'?>
<ns2:PayResponse xmlns:ns2="http://svcs.paypal.com/types/ap">
  <responseEnvelope>
    <timestamp>2013-09-24T13:57:52.350-07:00</timestamp>
    <ack>Success</ack>
    <correlationId>2fa4316b879b9</correlationId>
    <build>7767516</build>
  </responseEnvelope>
  <payKey>AP-5632737798659023M</payKey>
  <paymentExecStatus>COMPLETED</paymentExecStatus>
  <paymentInfoList>
    <paymentInfo>
      <transactionId>53664474R26308454</transactionId>
      <transactionStatus>COMPLETED</transactionStatus>
      <receiver>
        <amount>5.00</amount>
        <email>usb_1329725429_biz@angelleye.com</email>
        <primary>false</primary>
        <accountId>C9TAVNJFATXCS</accountId>
      </receiver>
      <pendingRefund>false</pendingRefund>
      <senderTransactionId>3CV49919EJ546411E</senderTransactionId>
      <senderTransactionStatus>COMPLETED</senderTransactionStatus>
    </paymentInfo>
  </paymentInfoList>
  <sender>
    <accountId>E7BTGVXBFSUAU</accountId>
  </sender>
</ns2:PayResponse>

上記の応答には、要求で提供された事前承認キーに基づいて認識されている送信者 ID が実際に含まれていることがわかります。

于 2013-09-24T20:59:13.820 に答える