PayPal 自适应支付 - 我如何获得账户 ID?
Posted
技术标签:
【中文标题】PayPal 自适应支付 - 我如何获得账户 ID?【英文标题】:PayPal Adaptive Payments - How do I get an account ID? 【发布时间】:2014-04-30 08:26:38 【问题描述】:我正在尝试使用 PayPal 自适应付款支付 API。我正在尝试使用自己的电子邮件地址测试 API,但通过电子邮件指定发件人时出现错误。我想知道如何确定我自己的帐户 ID 以尝试这种方式?
我在这里指的是帐户 ID:https://developer.paypal.com/docs/classic/api/adaptive-payments/PaymentDetails_API_Operation/
我在尝试通过电子邮件付款时收到错误消息:"The email address smithd98@gmail.com is invalid. It may not be registered in PayPal's system yet"
。当我使用 PayPal 登录时,我的电子邮件地址是正确的。我的帐户已通过关联的银行帐户、信用卡和借记卡进行验证。
这是我的代码:
require 'paypal-sdk-adaptivepayments'
PayPal::SDK.configure(
:mode => "sandbox", # Set "live" for production
:app_id => "HIDDEN",
:username => "HIDDEN",
:password => "HIDDEN",
:signature => "HIDDEN" )
@api = PayPal::SDK::AdaptivePayments.new
# Build request object
@pay = @api.build_pay(
:actionType => "PAY",
:cancelUrl => "http://localhost:3000/samples/adaptive_payments/pay",
:currencyCode => "USD",
:feesPayer => "SENDER",
:ipnNotificationUrl => "http://localhost:3000/samples/adaptive_payments/ipn_notify",
:receiverList =>
:receiver => [
:amount => 1.0,
:email => "smithd98@gmail.com" ] ,
:returnUrl => "http://localhost:3000/samples/adaptive_payments/pay" )
#@pay.sender.email = "smithd98@gmail.com"
@pay.sender.accountId = 23434
# Make API call & get response
puts @pay.inspect
@response = @api.pay(@pay)
# Access response
if @response.success?
puts 'responsepayKey'
@response.payKey
puts 'url to complete payment'
@api.payment_url(@response) # Url to complete payment
else
puts 'error'
puts @response.error[0].message
puts @response.error[1].parameter.value
end
【问题讨论】:
大卫,您可以从您的贝宝测试帐户中手动获取帐户 ID,详细步骤请参阅我的回答。 【参考方案1】:大卫,
获取您的测试帐户的帐户 ID。
-
在https://www.sandbox.paypal.com/ 登录您的沙盒贝宝帐户
点击顶部菜单中的“个人资料”标签
您会在“商家帐户 ID”旁边看到您的帐户 ID
这与真实帐户的完全相同的过程,但要登录到您的真实贝宝帐户。
【讨论】:
【参考方案2】:您可以使用GetPalDetails 通过 API 获取它。您可以在您的 PayPal 个人资料中手动获取。转到“业务信息”部分,您会看到一个商家帐户 ID。
另一方面,我看到您在返回和取消 URL 中使用了 localhost 以及 IPN。这是行不通的。请记住,将访问该地址的是 PayPal 的服务器。如果他们点击本地主机,他们只是点击他们自己的服务器,当然这不会做你想做的事。
如果您想使用本地测试服务器测试所有这些,您需要使用您的 IP 地址或设置一些 DNS 和某种类型的域。我个人喜欢跟随 PayPal 的脚步,为我正在开发的任何网站设置一个 sandbox.domain.com 作为测试服务器。
【讨论】:
以上是关于PayPal 自适应支付 - 我如何获得账户 ID?的主要内容,如果未能解决你的问题,请参考以下文章