向服务器 Braintree SDK Paypal 提交负载随机数 ruby rails

submit payload nonce to server Braintree SDK Paypal ruby rails

Im uisng Braintree Paypal SDK 以带有托管字段的形式呈现 paypal 按钮。但是,我无法弄清楚如何将随机数提交给服务器。在本节中我该怎么做?

onAuthorize: function (data, actions) {
        return paypalCheckoutInstance.tokenizePayment(data)
          .then(function (payload) {
            // Submit `payload.nonce` to your server

        //console.log (payload.nonce)  
  });
},

我的控制器操作是

def payment
  Cart.find(session[:cart_id])
  result = Braintree::Transaction.sale(
            amount: current_order.subtotal,
            payment_method_nonce: params[:payment_method_nonce], 
            :options => {
              :submit_for_settlement => true},
          )
  response = {:success => result.success?}          
  if result.success?
    response[:transaction_id] = result.transaction.id
    current_order.update(status: "purchased")
    ReceiptMailer.purchase_order(current_passenger, 
      current_order).deliver_now 
  redirect_to root_path, 
    notice: "Thank you for booking, Please check your email for invoice"
  session.delete(:cart_id)

  elsif result.transaction
    redirect_to cart_path, alert: "something went wrong, your transactions was not successful!"
  end  
end

您需要在 javascript 中生成一个请求,以将支付随机数传递给您的服务器。下面是使用 jQuery 的 ajax 方法生成请求的简单示例:

$.ajax({
  method: "POST",
  url: "/payment",
  data: { payment_method_nonce: payload.nonce }
})