在rails app中集成instamojo api

时间:2017-11-11 09:45:00

标签: ruby-on-rails ruby api ruby-on-rails-3 payment-gateway

我正在学习rails中的支付网关集成。 我选择了insta mojo并且正在工作,但他们提供的文档非常不方便且难以理解。

https://github.com/AnkurGel/Instamojo-rb#usage

我不知道在哪里设置我的API密钥

require 'Instamojo-rb'
api = Instamojo::API.new do |app|
  app.api_key = "api_key-you-received-from-api@instamojo.com"
  app.auth_token = "auth_token-you-received-from-api@instamojo.com"
end` 

我在初始化程序中尝试了instamojo.rb并尝试运行控制台,但是它给出了错误,没有这样的方法存在。

1 个答案:

答案 0 :(得分:1)

  1. 您可以在application.rb或其他任何地方放置require语句,以便在加载应用程序时加载文件。
  2. 您可以制作“付款”模式,您可以在其中制作验证和获取详细信息等方法。
  3. 在这些方法的内部,您将制作API对象并使用上述代码。

    class Payment < ActiveRecord::Base
    
      def verify
        client = get_intamojo_client
        #Some code
      end
    
      def get_details
        client = get_intamojo_client
        #Some code
      end
    
      private
    
      def get_instamojo_client
        api = Instamojo::API.new(ENV["INSTAMOJO_KEY"],{auth_token: ENV["INSTAMOJO_TOKEN"], endpoint:"https://test.instamojo.com/api/1.1/"})
        return api.client
      end
    
    end
    
  4. 要探索使用客户端对象可以做什么,只需使用rails console并在那里创建一个客户端对象,然后使用client.public_methods并开始探索。

    编辑:

    我认为您使用的是较旧版本的gem,即0.1,其文档适用于版本&gt; 1.0。要进行更新,请在gem文件中使用此gem 'Instamojo-rb', '~> 1.1'并使用捆绑包更新。

    因此,对于版本0.1,请使用

    api = Instamojo::API.new(ENV["INSTAMOJO_KEY"],{auth_token: ENV["INSTAMOJO_TOKEN"], endpoint:"https://test.instamojo.com/api/1.1/"})
    

    对于versino&gt; = 1.0,请使用

    api = Instamojo::API.new(ENV["INSTAMOJO_KEY"], ENV["INSTAMOJO_TOKEN"], "https://test.instamojo.com/api/1.1/")