【问题标题】:Paypal transaction not displayed贝宝交易未显示
【发布时间】:2015-12-21 16:56:24
【问题描述】:

我已经集成了 Paypal 沙盒,直播

交易显示成功,但我无法在开发者仪表板上看到交易列表。 代码:

@api = PayPal::SDK::AdaptivePayments.new
@pay = @api.build_pay({
   :actionType => "PAY",
   :cancelUrl => "http://localhost:3000/adaptive_payments/pay",
   :currencyCode => "USD",
   :feesPayer => "SENDER",
  :ipnNotificationUrl => "http://localhost:3000/adaptive_payments/ipn_notify",
   :receiverList => {
     :receiver => [{
       :amount => 1.0,
       :email => "xxxxxx@gmail.com" }] },
       :returnUrl => "http://localhost:3000/adaptive_payments/pay"
 })
  @response = @api.pay(@pay)
   key = @response.payKey

回复:

Response.body={
  "responseEnvelope": {
  "timestamp": "2015-09-28T03:48:23.428-07:00",
  "ack": "Success",
  "correlationId": "xxxxx",
  "build": "17820627"
},
"payKey": "xxxx",
"paymentExecStatus": "CREATED"
}

yml 文件:

production:
  mode: live
  app_id: xxxxx
  username: xxxxx
  password: xxxxx
  signature: xxxxxxxx
  client_id: xxxxxxxx
  client_secret: xxxxxxxxx

PayKey 已生成,但我需要通过 API 从后端向用户 PayPal 发送信用,而无需重定向到网页 有没有其他方法,可以在不影响网页的情况下立即付款。

【问题讨论】:

    标签: ruby ruby-on-rails-4 paypal transactions paypal-adaptive-payments


    【解决方案1】:

    是的,您在这两种环境中都看不到 transactionID,因为还没有进行任何交易。

    通过运行 build_pay 方法,您只构建了 Pay 对象并将他重定向到 PayPal 支付页面。

    要在客户付款后接收付款 transactionID,您需要使用您保存的相关 PAY-KEY (AP-...) 运行 payment_details 方法,然后将客户重定向到付款页面,这是一个示例:

    def self.get_payment_details(key_str)
      api = PayPal::SDK::AdaptivePayments.new
      pp_request = api.build_payment_details
      pp_request.pay_key = key_str
      api.payment_details(pp_request)
    end
    
    get_payment_details(PAY_KEY_GOES_HERE)
    

    更新:

    paymentExecStatus 显示它处于 Created 状态,这意味着还没有付款。 您是否在构建 Pay 对象并付款后将用户重定向到 PayPal 付款页面?

    如果没有,请将下面的 redirect_to 行添加到您的代码中:

    ....
    @response = @api.pay(@pay)
    redirect_to api.payment_url(@response)
    

    【讨论】:

    • 我收到了交易ID,但是钱没有转给客户,也没有显示在交易记录中
    • 好吧,我也没有在开发者仪表板 (developer.paypal.com/developer/dashboard/sandbox) 中看到交易。我使用延迟链式付款,因此我在主要收款人 PayPal 帐户中检查它。您是否有权访问服务商 PayPal 帐户?如果需要,您可以在此处更改密码:developer.paypal.com/developer/accounts
    • 是的,但收款人也没有收到金额
    • 您能否将付款的 payKey 传递给上述get_payment_details 方法并打印响应或至少打印 paymentExecStatus 属性的值?
    • 我认为值得在这里提出一个不同的问题
    猜你喜欢
    • 2012-01-22
    • 2023-03-30
    • 2014-07-25
    • 2012-08-31
    • 2018-08-20
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 2015-08-11
    相关资源
    最近更新 更多