出于开发目的,我创建了一个主帐户作为开发人员,并创建了一个“沙盒”帐户。此帐户也在我的信息中心中声明为v.zero部分中的SandBox帐户。
在我的应用程序中,我添加了一个文件configs / paypal.yaml,其中包含client_id,client_secret的更新信息....它如下所示:
test: &default
client_id: Af9L4GJ7xxxxtp4wPQFqkL03bYYWuFius
client_secret: xxxxxx*//*
username: first.last_api2.corp.com
password: YEQZF7KGCY5SFFGC
signature: AFcWxV21C7fd0DDDDDSRl31ADLwdbXazZRfAA1zsZFfI4630wJS
app_id: Braintree-1478556332407
http_timeout: 120
mode: sandbox
sandbox_email_address: first.last@corp.com
development:
<<: *default
with_authentication:
<<: *default
client_id: Af9L4GJ7xxxxtp4wPQFqkL03bYYWuFius
client_secret: xxxxxx*//*
我的应用程序是用ruby编写的,在将此paypal.yaml放在我的config / repos之后,我已经开发了ruby代码来启动付款:
def send_payment params
begin
payout = PayPal::SDK::REST::Payout.new(get_payout_attributes params)
@@logger.info("Create a new Payout #{payout}")
result = payout.create(true)
@@logger.info("Sending Payout: #{result}")
rescue PayPal::SDK::Core::Exceptions => err
@@logger.info("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
@@logger.info("Error #{err}")
@@logger.info("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
end
result
end
get_payout_attributes仅用于获取一些自定义数据,例如receiver,amout ......
知道我为什么会内部失败???失败或是来自代码。
我没有遇到任何未经授权的用户,但错误失败 - 错误代码= 500 - 响应消息=内部服务器错误
问题似乎来自payout.create(true)
因为我得到了(响应[500]:内部服务器错误),因为PayPal::SDK::REST::Payout.new
不会产生任何问题(响应[200]:确定)
内部错误没有给我太多细节
由于
答案 0 :(得分:0)
可能不是您的代码,而是PayPal问题。
查看https://www.paypal-notify.com了解生产和沙盒服务器的状态。截至目前,沙盒环境中存在影响REST API的问题警告。