Skip to content

Commit 8bcdbaa

Browse files
committed
Added CreateGooglePayTransaction
1 parent 7c79706 commit 8bcdbaa

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
require 'rubygems'
2+
require 'yaml'
3+
require 'authorizenet'
4+
require 'securerandom'
5+
6+
include AuthorizeNet::API
7+
8+
def create_google_pay_transaction()
9+
config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
10+
11+
transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)
12+
13+
request = CreateTransactionRequest.new
14+
request.transactionRequest = TransactionRequestType.new()
15+
request.transactionRequest.amount = ((SecureRandom.random_number + 1 ) * 150 ).round(2)
16+
request.transactionRequest.payment = PaymentType.new
17+
request.transactionRequest.payment.opaqueData = OpaqueDataType.new('COMMON.GOOGLE.INAPP.PAYMENT','1234567890ABCDEF1111AAAA2222BBBB3333CCCC4444DDDD5555EEEE6666FFFF7777888899990000',nil)
18+
request.transactionRequest.transactionType = TransactionTypeEnum::AuthCaptureTransaction
19+
20+
response = transaction.create_transaction(request)
21+
22+
if response != nil
23+
if response.messages.resultCode == MessageTypeEnum::Ok
24+
if response.transactionResponse != nil && response.transactionResponse.messages != nil
25+
puts "Successfully made a purchase (authorization code: #{response.transactionResponse.authCode})"
26+
puts "Transaction Response code: #{response.transactionResponse.responseCode}"
27+
puts "Code: #{response.transactionResponse.messages.messages[0].code}"
28+
puts "Description: #{response.transactionResponse.messages.messages[0].description}"
29+
else
30+
puts "Transaction Failed"
31+
if response.transactionResponse.errors != nil
32+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
33+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
34+
end
35+
raise "Failed to make purchase."
36+
end
37+
else
38+
puts "Transaction Failed"
39+
if response.transactionResponse != nil && response.transactionResponse.errors != nil
40+
puts "Error Code: #{response.transactionResponse.errors.errors[0].errorCode}"
41+
puts "Error Message: #{response.transactionResponse.errors.errors[0].errorText}"
42+
else
43+
puts "Error Code: #{response.messages.messages[0].code}"
44+
puts "Error Message: #{response.messages.messages[0].text}"
45+
end
46+
raise "Failed to make purchase."
47+
end
48+
else
49+
puts "Response is null"
50+
raise "Failed to make purchase."
51+
end
52+
53+
return response
54+
end
55+
56+
if __FILE__ == $0
57+
create_google_pay_transaction()
58+
end

0 commit comments

Comments
 (0)