如何从贝宝交易中获取国家和州?
Posted
技术标签:
【中文标题】如何从贝宝交易中获取国家和州?【英文标题】:How to get the country and state from a paypal transaction? 【发布时间】:2015-09-20 18:18:16 【问题描述】:我想知道如何在 paypal 交易中从账单地址获取国家和州。
到目前为止,我可以通过下面的代码获得一个交易对象:
# ...
def self.paypal_transaction_details(txn_id)
@api = PayPal::SDK::Merchant.new
get_transaction_details = @api.build_get_transaction_details(:TransactionID => txn_id )
response = @api.get_transaction_details(get_transaction_details)
end
是否可以获取位置信息?还是应该使用地理编码器从 IP 地址获取国家和州?
参考:https://github.com/paypal/merchant-sdk-ruby
回应:
response.PaymentTransactionDetails.PayerInfo.Address
=> #<PayPal::SDK::Merchant::DataTypes::AddressType:0x007fd58f604660 @AddressOwner="PayPal", @AddressStatus="None">
提前致谢
【问题讨论】:
当您获得交易详情时,您应该能够获得用于付款的任何地址。但是,请注意 PayPal 并不总是有一个“帐单地址”——这是一个信用卡概念。 PayPal 通常不发送账单,因此账户默认没有账单地址。如果货物已发货,则有一个发货地址,并且所有帐户都有一个国家代码。 【参考方案1】:我不确定你是否在使用这个gem 'paypal-sdk-rest'
但如果你是,当你创建付款时 你可以做
require 'paypal-sdk-rest'
include PayPal::SDK::REST
PayPal::SDK::REST.set_config(
:mode => "sandbox", # "sandbox" or "live"
:client_id => "EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM",
:client_secret => "EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM")
# Build Payment object
@payment = Payment.new(
:intent => "sale",
:payer =>
:payment_method => "credit_card",
:funding_instruments => [
:credit_card =>
:type => "visa",
:number => "4567516310777851",
:expire_month => "11",
:expire_year => "2018",
:cvv2 => "874",
:first_name => "Joe",
:last_name => "Shopper",
:billing_address =>
:line1 => "52 N Main ST",
:city => "Johnstown",
:state => "OH",
:postal_code => "43210",
:country_code => "US" ],
:transactions => [
:item_list =>
:items => [
:name => "item",
:sku => "item",
:price => "1",
:currency => "USD",
:quantity => 1 ],
:amount =>
:total => "1.00",
:currency => "USD" ,
:description => "This is the payment transaction description." ])
# Create Payment and return the status(true or false)
if @payment.create
@payment.id # Payment Id
else
@payment.error # Error Hash
end
我希望这会有所帮助。 附言。 你必须先请求信息,如果没有,当你想取回它们时会有 nil 或 ''
【讨论】:
感谢您的帮助。我正在使用 Mercer-SDK-Ruby 宝石。付款直接通过贝宝处理。我们的系统通过 IPN URL 收到通知以上是关于如何从贝宝交易中获取国家和州?的主要内容,如果未能解决你的问题,请参考以下文章