2016-04-12 11 views
3

私はactivemerchant gemで私のレールアプリケーションとPaypalを統合しました。今のところ私はtokenとpayer_idを取得していますが、レスポンスでnullであるreceipt_idが必要です。PaypalレスポンスでReceipt_idがnullです。どうすれば入手できますか?

私はこのlinkに与えられた手順に従ってきました。ペイパルの

応答が

"timestamp"=>"2016-04-12T19:23:46Z", "ack"=>"Success", 
"correlation_id"=>"000a000f000r", "version"=>"124", "build"=>"000000", 
"token"=>"AB-000000000000000", "transaction_id"=>"kjKJKHkj09809FED2", 
"parent_transaction_id"=>NULL, "receipt_id"=>NULL, 
"transaction_type"=>"express-checkout", "payment_type"=>"instant", 
"payment_date"=>"2016-04-12T19:23:46Z", "gross_amount"=>"160.00", 
"gross_amount_currency_id"=>"USD", "fee_amount"=>"6.54", 
"fee_amount_currency_id"=>"USD", "tax_amount"=>"0.00", 
"tax_amount_currency_id"=>"USD", "exchange_rate"=>NULL, 
"payment_status"=>"Completed", "pending_reason"=>"none", 
"reason_code"=>"none", "protection_eligibility"=>"Eligible", 
"protection_eligibility_type"=>"ItemNotReceivedEligible,UnauthorizedPaymentEligible", 
"secure_merchant_account_id"=>"JHBJKJKJBKJBKJH", 
"success_page_redirect_requested"=>"false", 
"coupled_payment_info"=>NULL, "Token"=>"AB-000000000000000", 
"PaymentInfo"=>"{"TransactionID"=>"kjKJKHkj09809FED2", 
"ParentTransactionID"=>nil, "ReceiptID"=>nil, 
"TransactionType"=>"express-checkout", "PaymentType"=>"instant", 
"PaymentDate"=>"2016-04-12T19:23:46Z", "GrossAmount"=>"160.00", 
"FeeAmount"=>"6.54", "TaxAmount"=>"0.00", "ExchangeRate"=>nil, 
"PaymentStatus"=>"Completed", "PendingReason"=>"none", 
"ReasonCode"=>"none", "ProtectionEligibility"=>"Eligible", 
"ProtectionEligibilityType"=>"ItemNotReceivedEligible,UnauthorizedPaymentEligible", 
"SellerDetails"=>{"SecureMerchantAccountID"=>"JHBJKJKJBKJBKJH"}}", 
"SuccessPageRedirectRequested"=>"false", "CoupledPaymentInfo"=>NULL 

以下の通りである私が変更/追加する必要がreceipt_idを取得するためのPayPalアカウントでの任意の構成、または任意のリクエストパラメータはありますか?

お勧めします。

ありがとうございます。

+1

実際の取引にはサンドボックスを使用していますか?私は同様の問題(.NETでは実際)を持っていますが、サンドボックスを使用しても私はnullのreceipt_idを持っています。それは完全なトランザクションではなく、実際のトランザクションがreceipt_idを持つ可能性があるからです。 –

+0

はい、サンドボックスアカウントを使用しています。 –

答えて

1

Paypalデベロッパーサポートでこれについて説明しましたが、取引販売IDが記録してユーザーに返却するための適切なIDであるように思われます。また、クレジットカード取引のためにPaypalアカウントに記録されるものですユーザーにサポートに関する質問がありましたが、取引の詳細を調べるためにアカウントに与えるのが最も簡単な番号です。

私はreceipt_idと呼ばれるものをアクセスする方法については100%確実ではないが、私は支払エンドポイントに応じて取り込まれることを意図しているとは思いません。あなたがすべてでreceipt_idを取得するのであれば、それはおそらく、APIを1としてエンドポイントGET /v1/payments/sale/<Transaction-Id>

を打つから来る、receipt_idが

レシートIDとして定義されている16桁の番号の支払い識別番号は、ゲストのために返されますユーザーは支払いを識別することができます。

私は「ゲストユーザー」は特定のトランザクションに関連しない特定の意味を持っているかもしれないと思いますが、私はこれについて肯定的ではありません。

私はあなたがpaymentsエンドポイントからトランザクションIDを取得した後、このendpointで遊んでお勧めします。 payment.transactions [0] .related_resources [0] .sale.idの支払いエンドポイントから返されたjsonにあるIDは、参照番号を返す簡単なクレジットカード取引の記録に適したIDのようです後でトランザクションを検索するために保存することができます。

は、私はまた、より多くの情報のため、上記の販売エンドポイントを調べるためにそのIDを使用することができましたが、私は、サンドボックスの操作のために移入するreceipt_idを得ることができたことはありません。

希望すると、ドキュメントの一部がREST APIに欠けていることがわかりました。

"transactions": [ 
    { 
     "amount": { 
     "total": "7.47", 
     "currency": "USD", 
     "details": { 
      "tax": "0.03", 
      "shipping": "0.03" 
     } 
     }, 
     "description": "This is the payment transaction description.", 
     "related_resources": [ 
     { 
      "sale": { 
      "id": "4RR959492F879224U", 
      "create_time": "2013-01-31T04:12:02Z", 
      "update_time": "2013-01-31T04:12:04Z", 
関連する問題