1

Rails3 で構築された電子商取引アプリケーションに PaypalExpressCheckout を実装しようとしています。

アプリケーションには、売り手と買い手の 2 つの役割があります。

  • 売り手は製品を作成でき、有効な Paypal メールアドレスを追加して、販売した製品に代わって金額を取得できます。
  • 購入者は商品を購入し、Paypal を通じてチェックアウトすることができます。ユーザーの取引が成功すると、金額は販売者のアカウントに転送されます。

私がここで直面している問題は、買い手がチェックアウトするときに、金額が売り手のアカウントに正常に転送されますが、買い手のアカウントからは差し引かれません。

Paypal サンドボックスから API 資格情報を構成しました。ここでは、ActiveMerchant gem から使用しているメソッドを示します。

コントローラーから:

def checkout    
values = {:ip => request.remote_ip, 
          :return_url => confirm_paypal_url(@payment), 
          :cancel_return_url => root_url, :shipping => 0, 
          :handling => 0, :tax => 0, 
          :items => get_items(session[:cart])}

response = @payment.setup_purchase(values)                         
redirect_to @payment.redirect_url_for(response.token)   
end    

## CALL BACK
def paypal
# session[:product_users] = [{:amount => '100', :email => 'xx@x.com'}]
session[:product_users].each do |user|
  @payment = if user.last.nil?
    @payment.purchase(:token => params[:token], :payer_id => params[:PayerID], :ip => request.remote_ip)
  else
    @payment.transfer(user[:amount], user[:email])        
  end
  @payment.save  
end

redirect_to billing_thank_you_url(@payment)  
end

モデルから:

def setup_purchase(options)
  gateway.setup_purchase(amount * 100, options)
end

def transfer(amount, receiver)
 response = gateway.transfer(amount * 100, receiver, :subject => "Payment from XXX")
end

誰かがこれについて私を助けてくれたら、私は感謝します。

ありがとうございました

4

0 に答える 0