Sha256: 8499f9bfc916edcbc289e7a3c3a52b0ac613287dd6b88a86c97cc7335cbaf055
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
require "httparty" require "datatrans/json/transaction/response" class Datatrans::JSON::Transaction class Settle # Class to settle a transaction https://api-reference.datatrans.ch/#tag/v1transactions/operation/settle attr_accessor :params, :datatrans def initialize(datatrans, params) @datatrans = datatrans @params = params end def post(url, options = {}) options = options .merge(datatrans.proxy) .merge(basic_auth: {username: datatrans.merchant_id, password: datatrans.password}) HTTParty.post(url, **options) end def process post(datatrans.url(:json_settle_url, transaction_id: params[:transaction_id]), headers: {"Content-Type" => "application/json"}, body: request_body.to_json).parsed_response end def request_body { currency: params[:currency], amount: params[:amount], refno: params[:refno] } end end class SettleResponse < Response def successful? params["error"].blank? end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
datatrans-5.2.0 | lib/datatrans/json/transaction/settle.rb |