class OffsitePayments::Integrations::Latipay::Helper

Public Class Methods

new(order, credentials, options = {}) click to toggle source
Calls superclass method
# File lib/offsite_payments/integrations/latipay.rb, line 175
def initialize(order, credentials, options = {})
  @api_key = credentials.fetch(:api_key)
  @user_id = credentials.fetch(:user_id)
  super(order, credentials.fetch(:user_id), options.except(
    :payment_method, :ip, :product_name
  ))

  add_field 'version', '2.0'
  add_field 'payment_method', options.fetch(:payment_method)
  add_field 'ip', options.fetch(:ip)
  add_field 'product_name', options.fetch(:product_name)
  add_field 'callback_url', options.fetch(:callback_url) { options.fetch(:return_url) }
  add_field 'wallet_id', credentials.fetch(:wallet_id)
  add_field 'amount', options.fetch(:amount)
  add_field 'return_url', options.fetch(:return_url)
end

Public Instance Methods

transaction_url() click to toggle source
# File lib/offsite_payments/integrations/latipay.rb, line 196
def transaction_url
  if form_fields['payment_method'] == 'wechat'
    form_fields.merge!({ 'present_qr' => '1' })
  end
  TransactionInterface.new(@api_key, @user_id).call(form_fields)
end