Permalink
Browse files

Add Buckaroo::Ideal::Status

  • Loading branch information...
1 parent dfe3384 commit 8048b0ce9f1bf1901bcfc674fc0a2107168feac7 @tomeric tomeric committed May 22, 2012
Showing with 294 additions and 6 deletions.
  1. +213 −0 files/statuscodes.csv
  2. +7 −6 lib/buckaroo-ideal.rb
  3. +32 −0 lib/buckaroo-ideal/status.rb
  4. +40 −0 spec/buckaroo-ideal/status_spec.rb
  5. +2 −0 spec/fixtures/statuscodes.csv
View
@@ -0,0 +1,213 @@
+000;De credit card transactie is pending.
+001;De credit card transactie is pending. De MPI-status van de klant wordt gecheckt.
+070;De refund is nog niet verwerkt.
+071;De refund is succesvol verwerkt.
+072;Er is een fout opgetreden bij het refunden.
+073;De refund is geannuleerd.
+074;Refund geannuleerd. Onvoldoende saldo.
+075;Refund mislukt. Ongeldige rekeningnummers.
+076;De refund is door de bank teruggestort wegens incorrecte rekeninggegevens
+090;Deze transactie is nog niet volledig verwerkt.
+091;Deze transactie is met succes verwerkt.
+100;De transactie is door de credit-maatschappij goedgekeurd.
+101;De transactie is door de credit-maatschappij afgekeurd.
+102;De transactie is mislukt. Er is een fout opgetreden in de verwerking bij de creditmaatschappij.
+103;Deze creditcardtransactie is niet binnen de maximaal toegestane tijd uitgevoerd.
+104;De kaart is verlopen.
+105;Retrieval - Pending
+106;Chargeback
+120;Deze PayPal-transactie is nog niet volledig verwerkt.
+121;Transactiestatus: authorisatie geslaagd
+122;Deze PayPal-transactie is door de consument geannuleerd.
+123;Deze PayPal-transactie is niet binnen de maximale, toegestane tijd uitgevoerd.
+124;Deze PayPal-transactie is om onbekende reden bij PayPal mislukt.
+125;Deze PayPal-transactie is niet geaccepteerd.
+126;Deze PayPal-transactie is in afwachting.
+135;Deze PayPal-transactie is nog niet volledig verwerkt.
+136;Om technische reden kon de status van deze transactie nog niet bij PayPal worden achterhaald. De transactie is mogelijk nog niet afgerond.
+137;De afschrijvingscode is ongeldig.
+138;Er is een systeemfout opgetreden bij PayPal. Onze excuses voor het ongemak.
+139;Het PayPal transactie-id is ongeldig of niet beschikbaar.
+150;Deze Paysafecard-transactie is nog niet volledig verwerkt.
+151;Transactiestatus: authorisatie geslaagd
+152;Deze Paysafecard-transactie is door de consument geannuleerd.
+153;Deze Paysafecard-transactie is niet binnen de maximale, toegestane tijd uitgevoerd.
+155;Deze Paysafecard-transactie is niet geaccepteerd.
+156;Deze Paysafecard-transactie is nog niet volledig verwerkt.
+157;Om technische reden kon de status van deze transactie nog niet bij Paysafecard worden achterhaald. De transactie is mogelijk nog niet afgerond.
+158;Er is een systeemfout opgetreden bij Paysafecard. Onze excuses voor het ongemak.
+159;Het Paysafecard transactie-id is ongeldig of niet beschikbaar.
+170;Deze Cash-Ticket transactie is nog niet volledig verwerkt.
+171;Transactiestatus: authorisatie geslaagd
+172;Deze Cash-Ticket transactie is door de consument geannuleerd.
+173;Deze Cash-Ticket transactie is niet binnen de maximale, toegestane tijd uitgevoerd.
+175;Deze Cash-Ticket transactie is niet geaccepteerd.
+176;Deze Cash-Ticket transactie is nog niet volledig verwerkt.
+177;Om technische reden kon de status van deze transactie nog niet bij Cash-Ticket worden achterhaald. De transactie is mogelijk nog niet afgerond.
+178;Er is een systeemfout opgetreden bij Cash-Ticket. Onze excuses voor het ongemak.
+179;Het Cash-Ticket transactie-id is ongeldig of niet beschikbaar.
+190;Succes
+201;Er is timeout opgetreden bij het verwerken van de transactie.Gebruik de TransactionKey om de verwerkingsstatus nogmaals te controleren.
+203;De transactie is geweigerd. Het creditcardnummer is geblokkeerd.
+204;De transactie is geweigerd. Het ip-adres is geblokkeerd
+205;De transactie is geweigerd. Het land van uitgifte van deze creditcard is geblokkeerd
+206;De transactie is geweigerd. De faktuur [waarde] wordt momenteel of is reeds betaald.
+207;De transactie is geweigerd. Het maximaal aantal betaalpogingen voor faktuur [waarde] is overschreden.
+242;Provisie BetaalGarant succesvol verwerkt
+243;Provisie incassobureau BetaalGarant succesvol verwerkt
+244;Provisie Buckaroo BetaalGarant succesvol verwerkt
+245;Toetskosten incassobureau BetaalGarant succesvol verwerkt
+246;Btw incassobureau BetaalGarant succesvol verwerkt
+247;Btw buckaroo BetaalGarant succesvol verwerkt
+251;BetaalGarant aanvraag geannuleerd
+252;BetaalGarant aanvraag afgewezen
+253;BetaalGarant aanvraag nog niet verwerkt
+254;BetaalGarant aanvraag succesvol verwerkt
+255;Creditnota succesvol verwerkt
+260;Kredietwaardigheidcontrole abonnement niet actief
+261;Technische fout opgetreden tijdens kredietwaardigheidcontrole
+262;Verplichte velden voor kredietwaardigheidcontrole ontbreken of zijn onjuist
+264;De betaalGarant uitbetaling is teruggedraaid.
+300;Betaling voor deze overschrijving wordt nog verwacht.
+301;De overschrijving is ontvangen.
+302;De transactie is geweigerd of afgewezen.
+303;De uiterste betaaldatum voor deze overschrijving is verstreken.
+304;De datum voor ingebrekestelling is verstreken.
+305;Het ontvangen bedrag voor de overschrijving is lager dan het bedrag van de transactie.
+306;Het ontvangen bedrag voor de overschrijving is groter dan het bedrag van de transactie.
+309;De overschrijving is geannuleerd.
+345;Oorspronkelijk transactie-bedrag gedeeld; nieuwe transacties aangemaakt.
+372;Bijschrijving op externe rekening.
+390;De transactie is buiten Buckaroo om met de klant afgehandeld.
+392;Anders betaald
+400;De kadokaart-transactie is nog in behandeling
+401;De betaling middels kado-kaart is geslaagd.
+402;Betaling middels de kadokaart is afgewezen.
+409;Betaling middels de kadokaart is geannuleerd.
+410;De Merchant Account Code is ongeldig
+411;De betaling middels kad-kaart is voorlopig geaccepteerd.
+414;Er is een systeem-fout opgetreden.
+421;Er is een onbekende Issuer voor de kado-kaart opgegeven.
+422;Er is een fout opgetreden bij de Issuer. De betaling is mislukt. [waarde].
+425;Niet genoeg saldo om deze transactie uit te voeren.
+460;In behandeling
+461;Transactie voltooid
+462;Transactie voltooid
+463;Transactie voltooid
+464;Transactie voltooid
+466;Afgewezen door incassobureau:
+468;Originele factuur voor deze vordering niet gevonden
+490;Mislukt
+491;Validatiefout
+492;Technische fout
+500;Paypermail: transactie pending
+501;OnlineGiro transactie verwerkt
+541;Transactiekosten zijn verrekend met saldo
+550;De uitbetaling is nog niet verwerkt.
+551;De uitbetaling is succesvol verwerkt.
+552;De uitbetaling is geannuleerd.
+553;De uitbetaling is mislukt.
+554;Uitbetaling geannuleerd. Onvoldoende saldo.
+555;Uitbetaling mislukt. Ongeldige rekeningnummers.
+556;De uitbetaling is door de bank teruggestort wegens incorrecte rekeninggegevens
+560;Correctiebetaling uitgevoerd door Buckaroo.
+581;Overschrijving van of naar ander Buck-account
+590;De partnerprovisie is verwerkt.
+600;Eenmalige machtiging is nog niet verwerkt.
+601;Eenmalige machtiging is met succes verwerkt.
+602;Eenmalige machtiging is door de bank afgewezen.
+605;Eenmalige machtiging is gestorneerd.
+609;Eenmalige machtiging is geannuleerd voordat incasso plaatsvond.
+610;Eenmalige machtiging is door de bank afgewezen. Rekening ongeldig.
+612;Terugboeking wegens Melding Onterechte Incasso
+690;Afgewezen
+700;De betaalopdracht is geaccepteerd en wordt in behandeling genomen.
+701;De betaalopdracht is verwerkt.
+702;De betaalopdracht is door de bank teruggestort wegens incorrecte rekeninggegevens
+703;De betaalopdracht is afgewezen door Buckaroo.
+704;Betaalopdracht geannuleerd
+705;De batch kon niet worden ingepland. Error: [waarde]
+706;Betaalopdracht mislukt. Ongeldige rekeningnummers.
+707;Betaalopdracht geannuleerd. Onvoldoende saldo.
+708;De betaalopdracht is door de bank teruggestort wegens incorrecte rekeninggegevens
+710;Betaalopdracht nog niet geverifieerd.
+711;De batch kon niet gevonden worden: [waarde].
+712;De batch is reeds verwerkt: [waarde].
+720;Er is voor deze batch-transactie geen klant-id opgegeven.
+721;Het opgegeven klant-id kon niet worden gevonden: [waarde].
+790;Pending Input
+791;Pending Processing
+792;AwaitingConsumer
+793;Transactie in wachtstand.
+800;Deze iDeal-transactie is nog niet volledig verwerkt.
+801;Deze iDeal-transactie is met succes verwerkt.
+802;Deze iDeal-transactie is door de consument geannuleerd. Trx: [waarde]
+803;Deze iDeal-transactie is niet binnen de maximale, toegestane tijd uitgevoerd. Trx: [waarde]
+804;Deze iDeal-transactie is om onbekende reden bij de bank mislukt. Trx: [waarde]
+810;Issuer (bank) is onbekend: [waarde]
+811;Om technische reden kon de status van deze transactie nog niet bij de bank worden achterhaald. De transactie is nog niet afgerond.
+812;De entrance-code [waarde] is ongeldig.
+813;Acquirer-code is onbekend: [waarde].
+814;Er is een systeemfout opgetreden. We zullen deze zo snel mogelijk verhelpen. De status zal daarna worden herzien.
+815;Op dit moment is de betaalmethode iDEAL niet beschikbaar wegens een storing bij de bank
+816;Er kon geen transactie worden gevonden. Criteria: [waarde]
+820;Deze Giropay-transactie is nog niet volledig verwerkt.
+821;Deze Giropay-transactie is met succes verwerkt.
+822;Deze Giropay-transactie is door de consument geannuleerd. Trx: [waarde]
+823;Deze Giropay-transactie is niet binnen de maximale, toegestane tijd uitgevoerd. Trx: [waarde]
+824;Deze Giropay-transactie is door de bank afgewezen.
+830;Issuer (bankleitzahl) is onbekend: [waarde]
+831;Om technische reden kon de status van deze transactie nog niet bij de bank worden achterhaald. De transactie is nog niet afgerond.
+833;De entrance-code [waarde] is ongeldig.
+834;Er is een systeemfout opgetreden. We zullen deze zo snel mogelijk verhelpen. De status zal daarna worden herzien.
+835;Het Giropay transactie-id is ongeldig of niet beschikbaar.
+836;Er kon geen transactie worden gevonden. Criteria: [waarde]
+890;Geannuleerd door consument
+891;Geannuleerd door merchant
+900;Geen XML-bericht ontvangen.
+901;Ongeldig XML-bericht. [waarde]
+910;0 EUR transactie, Customergegevens opgeslagen.
+931;[nodetype] [element] ontbreekt.
+932;Teveel elementen type [element] (max. 1).
+933;Waarde [nodetype] [element] ontbreekt.
+934;Waarde [nodetype] [element] (occurance [occurance]) ontbreekt.
+935;Waarde attribuut [attribuut] ontbreekt in element [element].
+940;Ongeldig request: [waarde].
+941;Waarde veld [veld] ongeldig: [waarde].
+942;Waarde attribuut [veld] ongeldig: [waarde].
+943;Creditcard-type onbekend: [waarde]. (mastercard of visa)
+944;Kaartnummer ongeldig (Luhn-check): [waarde].
+945;Valuta onbekend ongeldig: [waarde].
+946;Bedrag is geen numerieke waarde: [waarde].
+947;Bedrag ongeldig: [waarde].
+948;CVC-code ongeldig: [waarde].
+949;Maand geldigheidsduur creditcard ongeldig: [waarde].
+950;Jaar geldigheidsduur creditcard ongeldig: [waarde].
+951;Taal onbekend of niet ondersteund: [waarde].
+952;Het factuurnummer ontbreekt. Dit veld is verplicht.
+953;Geblokkeerd door velocitycheck
+954;Het transactie-ID [waarde] is al in gebruik.
+955;Authenticatie voor deze creditcard betaling is afgewezen
+956;De enrolled status van de creditcard kon niet achterhaald worden.
+960;Klantnummer ongeldig: [waarde].
+961;Creditcard-type niet geactiveerd: [waarde].
+962;Gekozen valuta ongeldig voor Merchant: [waarde].
+963;Het transactie-id is ongeldig: [waarde]
+964;Er zijn geen betaalmethoden geactiveerd.
+971;Er is geen naam opgegeven.
+972;Er is geen adres ingevuld.
+973;Er is geen postcode ingevuld.
+974;Er is geen plaats ingevuld.
+975;Er is geen land ingevuld.
+976;Er is geen geslacht ingevuld.
+977;Mailadres ongeldig
+978;De XML koppeling voor creditcards is nog niet geactiveerd.
+980;De betaalmethode [waarde] is niet geactiveerd.
+981;De datum van het abonnement is geen geldige datum.
+982;Het abonnement is nog niet ingegaan.
+983;Het abonnement is verlopen.
+990;De digitale handtekening is incorrect: [waarde].
+991;Er is een fout opgetreden bij het verwerken van de transactie. De Merchant Account Code kon niet worden gelocaliseerd.
+992;Er is fout opgetreden bij het verwerken van de response. We zullen de storing zo snel mogelijk verhelpen.
+993;Er is een fout opgetreden bij het verwerken van de transactie.
+999;Er is een fout opgetreden waarvan de oorzaak vooralsnog onbekend is. We zullen de storing zo snel mogelijk verhelpen.
View
@@ -13,11 +13,12 @@ module Ideal
# The languages supported by Buckaroo's user interface:
LANGUAGES = %w[ NL EN DE FR ]
- autoload :VERSION, 'buckaroo-ideal/version'
- autoload :Config, 'buckaroo-ideal/config'
- autoload :Order, 'buckaroo-ideal/order'
- autoload :RequestSignature, 'buckaroo-ideal/request_signature'
- autoload :Request, 'buckaroo-ideal/request'
- autoload :Util, 'buckaroo-ideal/util'
+ autoload :VERSION, 'buckaroo-ideal/version'
+ autoload :Config, 'buckaroo-ideal/config'
+ autoload :Order, 'buckaroo-ideal/order'
+ autoload :RequestSignature, 'buckaroo-ideal/request_signature'
+ autoload :Request, 'buckaroo-ideal/request'
+ autoload :Status, 'buckaroo-ideal/status'
+ autoload :Util, 'buckaroo-ideal/util'
end
end
@@ -0,0 +1,32 @@
+require 'csv'
+
+module Buckaroo
+ module Ideal
+ class Status
+ class UnknownStatusCode < StandardError; end
+
+ CSV_FILE = File.expand_path('../../../files/statuscodes.csv', __FILE__)
+
+ attr_reader :code, :message
+
+ def self.status_codes(csv_file = CSV_FILE)
+ codes = {}
+
+ CSV.foreach(csv_file, col_sep: ';') do |row|
+ codes[row[0]] = row[1]
+ end
+
+ codes
+ end
+
+ def initialize(code)
+ if message = self.class.status_codes[code]
+ @code = code
+ @message = message
+ else
+ raise UnknownStatusCode
+ end
+ end
+ end
+ end
+end
@@ -0,0 +1,40 @@
+require 'spec_helper'
+
+describe Buckaroo::Ideal::Status do
+ describe '.status_codes' do
+ let(:csv_file) { File.expand_path('../../fixtures/statuscodes.csv', __FILE__) }
+
+ it 'reads and returns the status codes from the given csv file' do
+ codes = Buckaroo::Ideal::Status.status_codes(csv_file)
+
+ codes['000'].should == 'De credit card transactie is pending.'
+ codes['001'].should == 'De credit card transactie is pending. De MPI-status van de klant wordt gecheckt.'
+ codes['007'].should be_nil
+ end
+
+ it 'reads and returns the status codes from the bundled csv file' do
+ codes = Buckaroo::Ideal::Status.status_codes
+ codes['000'].should == 'De credit card transactie is pending.'
+ codes['104'].should == 'De kaart is verlopen.'
+ codes['999'].should == 'Er is een fout opgetreden waarvan de oorzaak vooralsnog onbekend is. We zullen de storing zo snel mogelijk verhelpen.'
+ end
+ end
+
+ describe '#initialize' do
+ it 'returns a Status with the code given' do
+ status = Buckaroo::Ideal::Status.new('000')
+ status.code.should == '000'
+ end
+
+ it 'returns a Status with the message of the given code' do
+ status = Buckaroo::Ideal::Status.new('000')
+ status.message.should == 'De credit card transactie is pending.'
+ end
+
+ it 'throws an UnknownStatusCode exception if the given code is invalid' do
+ expect {
+ Buckaroo::Ideal::Status.new('007')
+ }.to raise_error Buckaroo::Ideal::Status::UnknownStatusCode
+ end
+ end
+end
@@ -0,0 +1,2 @@
+000;De credit card transactie is pending.
+001;De credit card transactie is pending. De MPI-status van de klant wordt gecheckt.

0 comments on commit 8048b0c

Please sign in to comment.