lib/active_merchant/billing/gateways/netbanx.rb in activemerchant-1.112.0 vs lib/active_merchant/billing/gateways/netbanx.rb in activemerchant-1.113.0

- old
+ new

@@ -63,13 +63,15 @@ # If the transactions that are pending, API call needs to be Cancellation settlement_data = get_settlement(authorization) return settlement_data if settlement_data.message != 'OK' post = {} - if settlement_data.params['status'] == 'PENDING' + if settlement_data.params['status'] == 'PENDING' && money == settlement_data.params['amount'] post[:status] = 'CANCELLED' commit(:put, "settlements/#{authorization}", post) + elsif settlement_data.params['status'] == 'PENDING' && (money < settlement_data.params['amount'] || money > settlement_data.params['amount']) + return Response.new(false, 'Transaction not settled. Either do a full refund or try partial refund after settlement.') else add_invoice(post, money, options) # Setting merchantRefNumber to a unique id for each refund # This is to support multiple partial refunds for the same order @@ -194,10 +196,10 @@ country = Country.find(address[:country]) if address[:country] mapped = { street: address[:address1], city: address[:city], zip: address[:zip], - state: address[:state], + state: address[:state] } mapped[:country] = country.code(:alpha2).value unless country.blank? mapped end