Sha256: cac60e88f95b441f8e12409252ec3d9a4f5b142d9e2ed6c25df75b1eef27666d

Contents?: true

Size: 1.42 KB

Versions: 1

Compression:

Stored size: 1.42 KB

Contents

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

  include AuthorizeNet::API
  #Function to make transaction using AcceptJs 
  def create_an_accept_payment_transaction(api_login_id,api_transaction_key,token)
    
    transaction = Transaction.new(api_login_id, api_transaction_key, :gateway => :sandbox)
  
    request = CreateTransactionRequest.new

    billTo = CustomerAddressType.new
    billTo.firstName = "John"
    billTo.lastName = "Doe"
    billTo.address = "123 My St"
    billTo.city = "OurTown"
    billTo.zip = "46282"
  
    request.transactionRequest = TransactionRequestType.new()
    request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
    request.transactionRequest.billTo = billTo
    request.transactionRequest.payment = PaymentType.new
    request.transactionRequest.payment.opaqueData = OpaqueDataType.new('COMMON.ACCEPT.INAPP.PAYMENT',token) 
    request.transactionRequest.customer = CustomerDataType.new(nil,nil,'bmc@mail.com')
    request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
    request.transactionRequest.order = OrderType.new("invoiceNumber#{(SecureRandom.random_number*1000000).round(0)}","Order Description")    
    
    #Response will have the transaction detals(Error handling in web api)
    response = transaction.create_transaction(request)

    return response
  end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
authorizenetsample-1.1.6 lib/PaymentTransactions/create-an-accept-payment-transaction.rb