Class: Trustev::Transaction
- Inherits:
-
Object
- Object
- Trustev::Transaction
- Defined in:
- lib/trustev/transaction.rb
Constant Summary collapse
- SERVICE_URL =
'TransactionService.svc/rest/Transaction'- CURRENCY_CODES =
%w(ADP AED AFA AFN ALK ALL AMD ANG AOA AOK AON AOR ARA ARP ARS ARY ATS AUD AWG AYM AZM AZN BAD BAM BBD BDT BEC BEF BEL BGJ BGK BGL BGN BHD BIF BMD BND BOB BOP BOV BRB BRC BRE BRL BRN BRR BSD BTN BUK BWP BYB BYR BZD CAD CDF CHC CHE CHF CHW CLF CLP CNX CNY COP COU CRC CSD CSJ CSK CUC CUP CVE CYP CZK DDM DEM DJF DKK DOP DZD ECS ECV EEK EGP EQE ERN ESA ESB ESP ETB EUR FIM FJD FKP FRF GBP GEK GEL GHC GHP GHS GIP GMD GNE GNF GNS GQE GRD GTQ GWE GWP GYD HKD HNL HRD HRK HTG HUF IDR IEP ILP ILR ILS INR IQD IRR ISJ ISK ITL JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAJ LAK LBP LKR LRD LSL LSM LTL LTT LUC LUF LUL LVL LVR LYD MAD MAF MDL MGA MGF MKD MLF MMK MNT MOP MRO MTL MTP MUR MVQ MVR MWK MXN MXP MXV MYR MZE MZM MZN NAD NGN NIC NIO NLG NOK NPR NZD OMR PAB PEH PEI PEN PES PGK PHP PKR PLN PLZ PTE PYG QAR RHD ROK ROL RON RSD RUB RUR RWF SAR SBD SCR SDD SDG SDP SEK SGD SHP SIT SKK SLL SOS SRD SRG SSP STD SUR SVC SYP SZL THB TJR TJS TMM TMT TND TOP TPE TRL TRY TTD TWD TZS UAH UAK UGS UGW UGX USD USN USS UYI UYN UYP UYU UZS VEB VEF VNC VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XEU XFO XFU XOF XPD XPF XPT XRE XSU XTS XUA XXX YDD YER YUD YUM YUN ZAL ZAR ZMK ZRN ZRZ ZWC ZWD ZWL ZWN ZWR)- COUNTRY_CODES =
%w(AC AD AE AF AG AI AL AM AN AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BM BN BO BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CX CY CZ DE DJ DK DM DO DZ EC EE EG ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NS NU NZ OM PA PE PF PG PH PK PL PM PN PR PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR ST SV SY SZ TA TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS YE YT ZA ZM ZW)
Instance Method Summary collapse
- #create(transaction = nil) ⇒ Object
-
#initialize(transaction_number) ⇒ Transaction
constructor
A new instance of Transaction.
- #set_bin(bin) ⇒ Object
- #set_status(status, reason, comment) ⇒ Object
- #update(transaction = nil) ⇒ Object
Constructor Details
#initialize(transaction_number) ⇒ Transaction
Returns a new instance of Transaction.
42 43 44 45 |
# File 'lib/trustev/transaction.rb', line 42 def initialize(transaction_number) raise Error.new('TransactionNumber is required.') if transaction_number.nil? @transaction_number = transaction_number end |
Instance Method Details
#create(transaction = nil) ⇒ Object
47 48 49 50 51 |
# File 'lib/trustev/transaction.rb', line 47 def create(transaction=nil) raise Error.new('Transaction options are missing') if transaction.nil? validate(transaction) Trustev.send_request SERVICE_URL, build(transaction), 'POST' end |
#set_bin(bin) ⇒ Object
71 72 73 74 75 76 77 |
# File 'lib/trustev/transaction.rb', line 71 def set_bin(bin) raise Error.new('BIN is required') if bin.nil? body = { BINNumber: bin } Trustev.send_request "#{SERVICE_URL}/#{@transaction_number}/BIN", body, 'PUT' end |
#set_status(status, reason, comment) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/trustev/transaction.rb', line 59 def set_status(status, reason, comment) raise Error.new('Invalid Status Code') if Trustev::STATUS_TYPES.key(status).nil? raise Error.new('Invalid Reason Code') if Trustev::REASON_TYPES.key(reason).nil? raise Error.new('Status comment cannot be blank') if comment.nil? || comment.empty? body = { Status: status, Reason: reason, Comment: comment } Trustev.send_request "#{SERVICE_URL}/#{@transaction_number}/Status", body, 'PUT' end |
#update(transaction = nil) ⇒ Object
53 54 55 56 57 |
# File 'lib/trustev/transaction.rb', line 53 def update(transaction=nil) raise Error.new('Transaction options are missing') if transaction.nil? validate(transaction) Trustev.send_request "#{SERVICE_URL}/#{@transaction_number}", build(transaction), 'PUT' end |