Gem برای پرداخت آنلاین از درگاه JahanPay

rubygem
gem
rails

#1

سلام دوستان، میخواستم بدونم کسی gem برای سرویس پرداخت آنلاین جهان پی سراغ داره، یا میشه از gem های دیگه استفاده کرد؟
من خودم یه کدی نوشتم، متصل همه میشه، پرداخت رو تایید میکنه. اما نمیخوام داخل controller یا model ازش استفاده کنم، برای همین فایل jpay.rb رو توی فولدر lib/jpay.rb قرار میدم و ازش استفاده میکنم. اگه کسی هم خواست ویرایش کنه و استفاده کنه یا روش بهتری ارائه بده.
میخواستم بدونم امکانش هست کد رو جم کنید. من دانش جم نویسی ندارم.

require 'savon'

module Jpay

  def self.request_payment(amount, callback, order_id, text)
    api = Rails.application.config.jpay_api
    info = {api: api ,amount: amount, callback: callback, orderid: order_id, txt: text }
    client ||= Savon.client(wsdl: 'http://www.jahanpay.com/webservice?wsdl')
    res=client.call(:requestpayment, message: info)
    if res.body[:requestpayment_response] and res.body[:requestpayment_response][:return]
      code = res.body[:requestpayment_response][:return]
      code
    end
  end
  
  def self.response(amount, auth)
    api = Rails.application.config.jpay_api
    info = {api: api ,amount: amount, authority: auth}
    client ||= Savon.client(wsdl: 'http://www.jahanpay.com/webservice?wsdl')
    res=client.call(:verification, message: info)
    if res.body[:verification_response] and res.body[:verification_response][:return]
      code = res.body[:verification_response][:return]
      code
    end
  end

end

که api = Rails.application.config.jpay_api برای اینه که کد api رو توی فایل config/application.rb به صورت زیر قرار دادم:

Rails.application.config.jpay_api = 'xxxxxxxx'

البته شاید حرفه ای ننوشته باشم.

برای پرداخت

jcode = Jpay.request_payment(@price, callback_url, @order.id, text)

برای تایید پرداخت

jcode = Jpay.response(@price, params[:au])

اگر jcode برابر با 1 باشه یعنی پرداخت با موفقیت انجام شده است.
البته مستندات api رو میتونید توی سایت ببینید.


Jahanpay سرویس
#2


اینو ببین
جم زرین پاله که آرش موسوی نوشته
میتونی ایده بگیری ازش
Create Your First Ruby Gem
اینم یه راهنمای خیلی خوبه برای نوشتن جم روبی


#3

تشکر @reza
انشاالله سرفرصت پیگیر میشم. چند روز سرم شلوغه.


#4

سلام، بنده زبان روبی رو تازه شروع کردم. خیلی مهارت ندارم. بیشتر این جم رو هم از سایت ها و جم های دیگه الهام گرفتم. امیدوارم کارتون رو راه بندازه
البته کامل تست نکردم.
Jpay - JahanPay payment gateway


#5

عالی آقا عالی
دمت گرم اوپن سورسش کردی که بقیه هم استفاده و مشارکت کنن