我正在尝试使用 PayPal Adaptive Payments 支付 API。我正在尝试使用我自己的电子邮件地址测试 API,但在通过电子邮件指定发件人时收到错误消息。我想知道如何确定我自己的帐户 ID 以尝试这种方式?
我在这里指的是帐户 ID:https://developer.paypal.com/docs/classic/api/adaptive-payments/PaymentDetails_API_Operation/
我收到错误消息:“电子邮件地址 smithd98@gmail.com 无效。它可能尚未在 PayPal 系统中注册”
尝试通过我的电子邮件付款时。当我使用 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
最佳答案
您可以使用 GetPalDetails 通过 API 获取它.您可以在您的 PayPal 个人资料中手动获取它。转到“业务信息”部分,您会看到一个商家帐户 ID。
另一方面,我看到您在返回和取消 URL 以及 IPN 中使用了 localhost。这是行不通的。请记住,将访问该地址的是 PayPal 的服务器。如果他们访问了本地主机,他们只是访问了他们自己的服务器,这当然不会执行您想要的操作。
如果您想使用本地测试服务器测试所有这些,您需要使用您的 IP 地址或设置一些 DNS 和某种域。我个人喜欢效仿 PayPal 的做法,将 sandbox.domain.com 设置为我正在处理的任何网站的测试服务器。
关于ruby - PayPal 自适应支付 - 如何获得账户 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22584704/