我在沙箱中使用Paypal Adaptive Account gem(Paypal sdk adaptivepayments)作为rails(4.0.2)应用程序,使用GetVerifiedStatus操作进行测试,并出现以下错误:
Error: [#<PayPal::SDK::AdaptiveAccounts::DataTypes::ErrorData:0x007fcd60e15bb0
@errorId=580022, @domain="PLATFORM", @subdomain="Application", @severity="Error",
@category="Application", @message="Invalid request parameter: emailAddress",
@parameter=[#PayPal::SDK::AdaptiveAccounts::DataTypes::ErrorParameter:0x007fcd60e15408
@value="emailAddress">]>]
我正在打的电话是:
@api = PayPal::SDK::AdaptiveAccounts::API.new( :device_ipaddress => "127.0.0.1" )
@get_verified_status = @api.build_get_verified_status({
:emailAddress => usuario.mail,
:firstName => usuario.nombre,
:lastName => usuario.apellido1,
:matchCriteria => "NAME" })
# Make API call & get response
@get_verified_status_response = @api.get_verified_status(@get_verified_status)
从上周开始,在我的hdd说再见之前,这个应用程序运行得很好,我必须恢复备份。我想我已经配置好了应用程序,但我不确定。我的rails应用程序有这样的conf:
PayPal::SDK.configure(
username: ENV["PAYPAL_CLASSIC_USERNAME"],
password: ENV["PAYPAL_CLASSIC_PASSWORD"],
signature: ENV["PAYPAL_CLASSIC_SIGNATURE"],
app_id: ENV["PAYPAL_CLASSIC_APP_ID"],
http_timeout: 30,
mode: ENV["PAYPAL_CLASSIC_MODE"]
)
printenv|grep PAYPAL|排序
PAYPAL_CLASSIC_APP_ID: APP-80W284485P519543T
PAYPAL_CLASSIC_MAIL: my@email.com
PAYPAL_CLASSIC_MODE: sandbox
PAYPAL_CLASSIC_PASSWORD: [my-sandbox-password]
PAYPAL_CLASSIC_SIGNATURE: [api-signature]
PAYPAL_CLASSIC_USERNAME: *****
最后,我不得不说,在Heroku/Paypal Sandbox中部署的相同应用程序(使用相同的沙箱帐户)正在运行。
我错过了什么?
来自贝宝客服:
当请求中存在无效值时,通常会返回错误580022-https://developer.paypal.com/docs/classic/api/adaptive-accounts/GetVerifiedStatus_API_Operation/?mark=580022根据您的请求,我看到您有:*
:emailAddress => usuario.mail, :firstName => usuario.nombre, :lastName => usuario.apellido1, :matchCriteria => "NAME" })
消息显示"无效请求参数:emailAddress"
请验证是否发送了实际值,并让我知道是否还有问题。
在我的例子中,emailAddress在电子邮件之前有一个空白。现在正在使用.squish