Sha256: dc158101d8bab8bf549962767f340f143530abcf522e41de3b5fd0dfc27488de

Contents?: true

Size: 1.92 KB

Versions: 1

Compression:

Stored size: 1.92 KB

Contents

require 'rubygems'
require 'yaml'
require 'authorizenet' 
require 'securerandom'

  include AuthorizeNet::API

  def get_an_accept_payment_page(api_login_id,api_transaction_key,customerId,iframeCommunicatorUrl)
    config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")

    transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)

    custProfile = CustomerProfilePaymentType.new
    custProfile.customerProfileId = customerId



    transactionRequest = TransactionRequestType.new
    transactionRequest.amount = 12.12
    transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
    transactionRequest.profile = custProfile
    
    setting1 = SettingType.new
    setting1.settingName = SettingNameEnum::HostedPaymentButtonOptions
    setting1.settingValue = "{\"text\": \"Pay\"}"

    setting2 = SettingType.new
    setting2.settingName = SettingNameEnum::HostedPaymentOrderOptions
    setting2.settingValue = "{\"show\": false}"

    setting3 = SettingType.new
    setting3.settingName = SettingNameEnum::HostedPaymentIFrameCommunicatorUrl
    setting3.settingValue = "{\"url\": #{iframeCommunicatorUrl}}"

     
    settings = Settings.new([ setting1, setting2,setting3])

     puts setting3
    request = GetHostedPaymentPageRequest.new
    request.transactionRequest = transactionRequest
    request.hostedPaymentSettings = settings
    
    response = transaction.get_hosted_payment_page(request)
    
    # if response.messages.resultCode == MessageTypeEnum::Ok
    #   puts "#{response.messages.messages[0].code}"
    #   puts "#{response.messages.messages[0].text}"
    #   puts "#{response.token}"
    # else
    #   puts "#{response.messages.messages[0].code}"
    #   puts "#{response.messages.messages[0].text}"
    #   raise "Failed to get hosted payment page"
    # end
    return response
  end
  
if __FILE__ == $0
  get_an_accept_payment_page()
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
authorizenetsample-1.0.1 lib/PaymentTransactions/get-an-accept-payment-page.rb