您如何将来自 PayPal 的 PDT 响应转换为哈希?
Posted
技术标签:
【中文标题】您如何将来自 PayPal 的 PDT 响应转换为哈希?【英文标题】:How do you turn the PDT response from PayPal into a hash? 【发布时间】:2017-12-27 03:04:30 【问题描述】:我正在尝试使用 PayPal 上的 PDT 系统来管理我网站上的付款。我的网站正在正确接收发送回贝宝以接收交易数据的交易 ID。
这是我用来将交易 ID 发布到贝宝并接收响应的代码。
response = Net::HTTP.post_form(URI.parse("#Rails.application.secrets.paypal_host/cgi-bin/webscr?"), values)
puts response.body
我收到了正确的响应,其中 response.body 在终端中显示。
SUCCESS
transaction_subject=SPORTS+PACKAGE+%281+Week%29
payment_date=23%3A32%3A01+Jul+20%2C+2017+PDT
txn_type=subscr_payment
subscr_id=I-WHFVMBY57NX2
last_name=Lucas
residence_country=US
item_name=SPORTS+PACKAGE+%281+Week%29
payment_gross=
mc_currency=AUD
business=merchant-success%40puntsquad.com
payment_type=instant
protection_eligibility=Ineligible
payer_status=verified
payer_email=buyer-success%40puntsquad.com
txn_id=8M5887849L359363Y
receiver_email=merchant-success%40puntsquad.com
first_name=George
payer_id=667TSNBH7R7X4
receiver_id=WJYE8WGSREP98
payment_status=Completed
payment_fee=
mc_fee=2.00
mc_gross=50.00
charset=windows-1252
我的问题是我不确定如何访问这些值。
【问题讨论】:
【参考方案1】:您可以将响应正文转换为哈希,如下所示
hsh = CGI::parse(response.body)
puts hsh['transaction_subject']
【讨论】:
以上是关于您如何将来自 PayPal 的 PDT 响应转换为哈希?的主要内容,如果未能解决你的问题,请参考以下文章