Skip to content

Commit 8e6d28d

Browse files
committed
+get-batch-statistics
+credit
1 parent 3984459 commit 8e6d28d

2 files changed

Lines changed: 89 additions & 0 deletions

File tree

PaypalExpressCheckout/credit.rb

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
require 'rubygems'
2+
require 'yaml'
3+
require 'authorizenet'
4+
5+
include AuthorizeNet::API
6+
7+
config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
8+
9+
transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)
10+
11+
request = CreateTransactionRequest.new
12+
13+
payPalType = PayPalType.new()
14+
payPalType.successUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
15+
payPalType.cancelUrl = "http://www.merchanteCommerceSite.com/Success/TC25262"
16+
17+
#standard api call to retrieve response
18+
paymentType = PaymentType.new()
19+
paymentType.payPal = payPalType
20+
21+
request.transactionRequest = TransactionRequestType.new()
22+
request.transactionRequest.amount = 813.45
23+
request.transactionRequest.payment = paymentType
24+
#refTransId for which credit has to happen
25+
request.transactionRequest.refTransId = "2241762126"
26+
request.transactionRequest.transactionType = TransactionTypeEnum::RefundTransaction
27+
response = transaction.create_transaction(request)
28+
29+
30+
if response.messages.resultCode == MessageTypeEnum::Ok
31+
puts "Successful Credit Transaction (Transaction response code: #{response.transactionResponse.responseCode})"
32+
#puts response.messages.messages[0].text
33+
#puts response.transactionResponse.to_yaml
34+
puts response.transactionResponse.messages.messages[0].code
35+
puts response.transactionResponse.messages.messages[0].description
36+
else
37+
puts response.messages.messages[0].text
38+
puts response.transactionResponse.errors.errors[0].errorCode
39+
puts response.transactionResponse.errors.errors[0].errorText
40+
raise "Failed to authorize card."
41+
end
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
require 'rubygems'
2+
require 'yaml'
3+
require 'authorizenet'
4+
5+
include AuthorizeNet::API
6+
7+
config = YAML.load_file(File.dirname(__FILE__) + "/../credentials.yml")
8+
9+
transaction = Transaction.new(config['api_login_id'], config['api_transaction_key'], :gateway => :sandbox)
10+
11+
batchId = "4532808"
12+
request = GetBatchStatisticsRequest.new
13+
request.batchId = batchId
14+
15+
#standard api call to retrieve response
16+
response = transaction.get_batch_statistics(request)
17+
18+
19+
if response != nil
20+
if response.messages.resultCode == MessageTypeEnum::Ok
21+
puts "Successfully got the list of subscriptions"
22+
puts response.messages.messages[0].code
23+
puts response.messages.messages[0].text
24+
puts response.batch.batchId
25+
puts response.batch.settlementTimeUTC
26+
puts response.batch.settlementTimeLocal
27+
puts response.batch.settlementState
28+
puts response.batch.paymentMethod
29+
for i in 0..response.batch.statistics.length-1
30+
puts "Statistic Details::"
31+
puts "Account Type: " + response.batch.statistics[i].accountType
32+
puts "Charge Amount: " + response.batch.statistics[i].chargeAmount
33+
puts "Charge Count: " + response.batch.statistics[i].chargeCount
34+
puts "Refund Amount: " + response.batch.statistics[i].refundAmount
35+
puts "Refund Count: " + response.batch.statistics[i].refundCount
36+
puts "Void Count: " + response.batch.statistics[i].voidCount
37+
puts "Decline Count: " + response.batch.statistics[i].declineCount
38+
puts "Error Count: " + response.batch.statistics[i].errorCount
39+
end
40+
41+
42+
else
43+
44+
puts response.messages.messages[0].code
45+
puts response.messages.messages[0].text
46+
raise "Failed to get the batch statistics"
47+
end
48+
end

0 commit comments

Comments
 (0)