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?的主要内容,如果未能解决你的问题,请参考以下文章

Paypal 自适应支付 IPN 费用信息

PayPal 自适应支付 - 在 PayPal 网站上失败

自适应支付贝宝与标准贝宝账户合作

Paypal 自适应链式支付

MVC Paypal 自适应支付

PayPal自适应支付链式支付错误