Categorieën
E-commerce Gravity Forms iDEAL WooCommerce WordPress

Hoe kan ik Mollie koppelen aan WordPress of WooCommerce?

Het koppelen van Mollie aan WordPress of WooCommerce is goed mogelijk en er zijn verschillende oplossingen beschikbaar. Welke optie het beste is, hangt af van verschillende factoren. Wil je Mollie aan WordPress of WooCommerce koppelen? Hier vind je alle benodigde informatie.

Categorieën
iDEAL

Currence publiceert iDEAL-tarieven voor licentiehouders, certificaathouders en geaccrediteerde partijen

Via Google Alerts werd ik geattendeerd op de volgende webpagina: https://ideal.nl/ideal-tarieven. Op deze pagina zijn de iDEAL-tarieven die Currence rekent aan licentiehouders, certificaathouders en geaccrediteerde partijen. Opvallend vond ik dat Currence een extra vergoeding rekent voor het insturen van de bankkeuze (issuer_id) van kopers. In het nieuwe iDEAL 2.0 komt dit te vervallen en blijkbaar rekent Currence er maar een extra vergoeding voor. Waarschijnlijk om grote payment providers zoals Buckaroo, Mollie, Pay·, etc. te stimuleren om de bankkeuze niet langer aan te bieden op hun betaalpagina’s.

Categorieën
iDEAL

Aantal iDEAL-transacties en totaal bedragen volgens het CBS t/m februari 2024

Het Centraal Bureau voor de Statistiek (CBS) publiceerde op 28 maart 2024 weer een tabel met betalingstransacties naar betaalmethode per maand. In het bericht “Betalingstransacties naar betaalmethode, aantallen en bedragen per maand” kan het Excel-document met de details gedownload worden. Voor iDEAL staat het er als volgt voor.

201920202021202220232024

aantalaantalaantalaantalaantalaantal

× 1000× 1000× 1000× 1000× 1000× 1000






Januari52.30063.70096.800101.660109.408120.200
Februari45.90058.20088.30088.25198.685110.690
Maart50.60062.80096.900100.206111.149
April50.40069.40093.50098.168108.449
Mei56.80075.80096.000106.171117.559
Juni56.10076.20095.800104.643115.533
Juli56.90077.70092.600103.210116.945
Augustus54.10074.80089.20097.744109.665
September56.80073.70089.200100.779111.175
Oktober59.70081.10096.100105.855118.212
November62.70084.100101.100112.556
December64.50092.900107.313113.507
Aantal betalingstransacties met iDEAL per maand
201920202021202220232024

mln euromln euromln euromln euromln euromln euro






Januari4.2945.4918.2579.64010.45712.180
Februari3.5294.7047.5287.5828.72910.440
Maart3.9525.8198.3238.67710.158
April4.0015.0128.3638.3369.120
Mei4.6605.4439.1379.58610.755
Juni4.4215.6828.1179.23910.909
Juli4.5405.8267.5548.77710.531
Augustus4.2715.3797.4278.4109.928
September4.4295.3537.3978.4629.468
Oktober4.5675.8477.9188.80710.810
November4.8746.7128.9679.581
December5.8178.1819.06010.233
Totaal bedrag betalingstransacties met iDEAL per maand

Daarmee lijkt januari 2024 in de boeken te gaan als de meest succesvolle maand voor de iDEAL-betaalmethode. In totaal ruim 120.200.000 iDEAL-transacties met een totaalbedrag van € 12.180.000.000, dat is een gemiddelde van ~ € 101,33 per iDEAL-transactie.

Categorieën
iDEAL

Aantal iDEAL-transacties en totaal bedragen volgens het CBS t/m oktober 2023

Het Centraal Bureau voor de Statistiek (CBS) publiceerde op 1 december 2023 weer een tabel met betalingstransacties naar betaalmethode per maand. In het bericht “Betalingstransacties naar betaalmethode, aantallen en bedragen per maand” kan het Excel-document met de details gedownload worden. Voor iDEAL staat het er als volgt voor.

20192020202120222023

aantalaantalaantalaantalaantal

× 1000× 1000× 1000× 1000× 1000






Januari52.30063.70096.800101.660109.408
Februari45.90058.20088.30088.25198.685
Maart50.60062.80096.900100.206111.149
April50.40069.40093.50098.168108.449
Mei56.80075.80096.000106.171117.559
Juni56.10076.20095.800104.643115.533
Juli56.90077.70092.600103.210116.945
Augustus54.10074.80089.20097.744109.665
September56.80073.70089.200100.779111.175
Oktober59.70081.10096.100105.855118.212
November62.70084.100101.100112.556
December64.50092.900107.313113.507
Aantal betalingstransacties met iDEAL per maand
20192020202120222023

mln euromln euromln euromln euromln euro






Januari4.2945.4918.2579.64010.457
Februari3.5294.7047.5287.5828.729
Maart3.9525.8198.3238.67710.158
April4.0015.0128.3638.3369.120
Mei4.6605.4439.1379.58610.755
Juni4.4215.6828.1179.23910.909
Juli4.5405.8267.5548.77710.531
Augustus4.2715.3797.4278.4109.928
September4.4295.3537.3978.4629.468
Oktober4.5675.8477.9188.80710.810
November4.8746.7128.9679.581
December5.8178.1819.06010.233
Totaal bedrag betalingstransacties met iDEAL per maand

Daarmee lijkt oktober 2023 in de boeken te gaan als de meest succesvolle maand voor de iDEAL-betaalmethode. In totaal ruim 118.212.000 iDEAL-transacties met een totaalbedrag van € 10.810.000.000, dat is een gemiddelde van ~ € 91,45 per iDEAL-transactie.

Black Friday heeft miljoenen transacties opgeleverd: winkels en online shops verkochten dit jaar meer dan ooit. Volgens betaalplatform iDEAL is een recordaantal van 7,1 miljoen betalingen verricht.

NU.nl – https://www.nu.nl/economie/6291292/winkels-verkochten-opnieuw-meer-dan-ooit-tijdens-black-friday.html
Categorieën
iDEAL

Aantal iDEAL-transacties en totaal bedragen volgens het CBS

Het Centraal Bureau voor de Statistiek (CBS) publiceerde op 24 oktober 2023 weer een tabel met betalingstransacties naar betaalmethode per maand. In het bericht “Betalingstransacties naar betaalmethode, aantallen en bedragen per maand” kan het Excel-document met de details gedownload worden. Voor iDEAL staat het er als volgt voor.

20192020202120222023

aantalaantalaantalaantalaantal

× 1000× 1000× 1000× 1000× 1000






Januari52.30063.70096.800101.660109.408
Februari45.90058.20088.30088.25198.685
Maart50.60062.80096.900100.206111.149
April50.40069.40093.50098.168108.449
Mei56.80075.80096.000106.171117.559
Juni56.10076.20095.800104.643115.533
Juli56.90077.70092.600103.210116.945
Augustus54.10074.80089.20097.744109.665
September56.80073.70089.200100.779111.175
Oktober59.70081.10096.100105.855
November62.70084.100101.100112.556
December64.50092.900107.313113.507
Aantal betalingstransacties met iDEAL per maand
20192020202120222023

mln euromln euromln euromln euromln euro






Januari4.2945.4918.2579.64010.457
Februari3.5294.7047.5287.5828.729
Maart3.9525.8198.3238.67710.158
April4.0015.0128.3638.3369.120
Mei4.6605.4439.1379.58610.755
Juni4.4215.6828.1179.23910.909
Juli4.5405.8267.5548.77710.531
Augustus4.2715.3797.4278.4109.928
September4.4295.3537.3978.4629.468
Oktober4.5675.8477.9188.807
November4.8746.7128.9679.581
December5.8178.1819.06010.233
Totaal bedrag betalingstransacties met iDEAL per maand

Volgens de laatste berichten moet november 2023 de cijfers hierboven weer ruim gaan overtreffen:

Black Friday heeft miljoenen transacties opgeleverd: winkels en online shops verkochten dit jaar meer dan ooit. Volgens betaalplatform iDEAL is een recordaantal van 7,1 miljoen betalingen verricht.

NU.nl – https://www.nu.nl/economie/6291292/winkels-verkochten-opnieuw-meer-dan-ooit-tijdens-black-friday.html
Categorieën
E-commerce iDEAL WooCommerce WordPress

Self-billing factuur van Mollie, Buckaroo, etc.

Omdat we bij Pronamic betaaloplossingen ontwikkelen voor payment providers zoals Mollie, Buckaroo, Pay.nl, etc. zijn we vaak partner van deze organisaties. In sommige gevallen krijgen we commissie voor succesvolle betalingen die via de Pronamic Pay plugin zijn opgestart. De payment providers betalen ons maandelijks of per kwartaal de opgebouwde commissie uit. Voor de boekhouding ontvangen we dan vaak een zogenaamde self-billing factuur. Waar voorheen nog wel eens creditnota’s werden verstuurd lijken de payment providers nu over te stappen naar self-billing facturen. Ik was tot vandaag niet heel bewust van dit concept. In dit bericht wat meer informatie over het self-billing principe.

Categorieën
iDEAL JavaScript

Mollie Recurring testen betaling blijft pending

Bij Pronamic werken we momenteel hard aan de ondersteuning van Mollie Recurring in de Pronamic iDEAL plugin. Hierbij liepen we tegen het probleem aan dat test incasso betalingen de status pending  bleven houden. We hebben daarom zojuist even geïnformeerd bij Mollie wat we over het hoofd zien:

Hallo Mollie,

We zijn momenteel bezig met de Mollie Recurring API en lopen tegen een probleem aan. De test directdebit betaling blijft de status pending houden terwijl er een valid mandate is:

curl -X GET https://api.mollie.nl/v1/payments/tr_********** -H "Authorization: Bearer test_******************************"
curl -X GET https://api.mollie.nl/v1/customers/cst_**********/mandates/mdt_********** -H "Authorization: Bearer test_******************************"

Zien wij iets over het hoofd?

Het handige van Mollie is dat de API ook eenvoudig via curl  is aan te roepen. In combinatie met tools zoals underscore-cli of jq kun je zo de Mollie API eenvoudig testen.

jq

brew install jq
curl -X GET https://api.mollie.nl/v1/payments/tr_********** -H "Authorization: Bearer test_******************************" | jq

Mollie API test curl jq

underscore-cli

npm install -g underscore-cli
curl -X GET https://api.mollie.nl/v1/payments/tr_********** -H "Authorization: Bearer test_******************************" | underscore print --color

Mollie API test curl underscore

Update maandag 10 oktober

Inmiddels hebben we een reactie gekregen van Mollie:

In de testmodus klopt dit inderdaad. Om recurring te testen kun je dit het beste doen met de Creditcard betaalmethode. Dit zal hetzelfde werken als met SEPA-incasso.

Als er nog vragen zijn, horen wij deze graag. Veel informatie is overigens ook terug te vinden op onze Support-pagina: https://www.mollie.com/nl/support

Het is wel jammer dat dit in testmodus niet correct werkt en Mollie ook geen stappen lijkt te nemen om dit of de documentatie hiervan te verbeteren.

Categorieën
iDEAL WooCommerce WordPress

WooCommerce bestellingen met iDEAL Basic automatisch geannuleerd

Een aantal WordPress gebruikers die met WooCommerce een webwinkel hebben opgezet en een iDEAL Basic aansluiting hebben zullen opgemerkt hebben dat betaalde bestellingen soms automatisch geannuleerd worden. Dit wordt veroorzaakt een automatisch systeem van WooCommerce die bestellingen met de status ‘in afwachting’ (pending) na een bepaalde tijd annuleert.

De WooCommerce ‘woocommerce_cancel_unpaid_orders()‘ functie regelt het annuleren van bestellingen met de status ‘in afwachting’. De werking van deze functie is te beïnvloeden met 2 instellingen, namelijk de ‘Voorraadbeheer’ (Manage Stock) en ‘Voorraad behouden (minuten)’ (Hold Stock (minutes)) instellingen. Op het moment dat voorraadbeheer is ingeschakeld en het aantal minuten van het vasthouden van de voorraad groter is dan 0 zullen bestellingen de status ‘in afwachting’ automatisch geannuleerd worden.

In principe zou een succesvolle iDEAL-betaling er direct voor moeten zorgen dat de WooCommerce bestellingstatus wordt bijgewerkt van ‘in afwachting’ (pending) naar ‘in verwerking’ (processing). In het geval van iDEAL Basic gebeurd dit echter niet als bezoekers vanuit iDEAL niet terug keren naar de webwinkel. WooCommerce gebruikers die werken met de iDEAL Basic variant adviseer ik daarom om de “Voorraad behouden (minuten)” instelling uit te schakelen.

Voorraad behouden (voor onbetaalde bestellingen) voor x minuten. Wanneer deze limiet is bereikt zal de in afwachting bestelling geannuleerd worden. Laat leeg om uit te schakelen.

WooCommerce voorraadbeheer iDEAL Basic

Het is immers niet netjes als klanten na een succesvolle iDEAL-betaling een uur later de melding krijgen dat de bestelling is geannuleerd.

Categorieën
iDEAL PHP

iDEAL Advanced probleem met OpenSSL 1.0.1e 11 Feb 2013

Vandaag liep ik tegen een configuratie probleem aan binnen de “Pronamic iDEAL” plugin in combinatie met de “ING – iDEAL Advanced” oplossing. Na het generen en uploaden van een privé sleutel en certificaat kon de Pronamic iDEAL configuratie niet meer getoond worden. De iDEAL pagina werd zonder foutmelding volledig afgebroken. Na debug werk kwamen we tot de ontdekking dat het vast liep binnen de volgende functie:

https://github.com/pronamic/wp-pronamic-ideal/blob/2.4.2/includes/xmlseclibs/xmlseclibs-ing.php#L484

of

https://github.com/pronamic/wp-pronamic-ideal/blob/2.4.2/includes/xmlseclibs/xmlseclibs.php#L479

Binnen deze functie worden de XML berichten die verstuurd worden naar de iDEAL Advanced provider gesigneerd. Op deze manier kan de bank verifiëren dat het verzoek van de juiste partij vandaan komt. Het signeren van XML berichten wordt gedaan met behulp van de OpenSSL bibliotheek. Deze bibliotheek is gericht op het versleutelen van te versturen gegevens.

Het is bekend dat voor de iDEAL Advanced oplossing minimaal OpenSSL versie “OpenSSL 0.9.7f” is in verband met SHA256 ondersteuning. Om die reden heb ik direct de OpenSSL versie gecontroleerd. Op de betreffende hosting omgeving van TransIP blijkt momenteel OpenSSL versie “1.0.1e 11 Feb 2013” te draaien. Voor zover mij bekend draaien de meeste hosting omgevingen nog op OpenSSL versie “0.9.8y 5 Feb 2013”, maar blijkbaar is TransIP al een stapje verder.

Na het probleem verder onderzocht te hebben leek het probleem zich te beperken tot de specifieke OpenSSL versie:

  • OpenSSL 0.9.8y 5 Feb 2013 » werkt wel
  • OpenSSL 1.0.1e 11 Feb 2013 » werkt niet
  • OpenSSL 1.0.1f 6 Jan 2014 » werkt wel

Ik vermoed dan ook dat in de betreffende OpenSSL versie een fout is ontstaan. Hierdoor kunnen de iDEAL Advanced berichten niet gesingeerd worden en zal iDEAL Advanced oplossing niet functioneren in combinatie met deze OpenSSL versie. Ik heb hierover telefonisch contact gehad met de ING Bank, maar helaas hebben ze mijn bevindingen nog niet kunnen verifiëren.

Hopelijk kan TransIP het probleem oplossen door de OpenSSL bibliotheek te up- en/of downgraden. Het zou immers jammer zijn als je bij TransIP niet de populaire iDEAL-betaalmethode kunt aanbieden. Mocht iemand overigens succesvol iDEAL Advanced gebruiken in combinatie met OpenSSL 1.0.1e 11 Feb 2013 dan hoor ik het graag.

Categorieën
iDEAL PHP WordPress

PHP private/protected eigenschappen aanpassen

Binnnen de Pronamic iDEAL plugin breiden we verschillende WordPress plugins uit met de iDEAL gateway. Zo voorzien we ook de Shopp webwinkel plugin voor WordPress van een iDEAL gateway module.

De Shopp ontwikkelaars hebben het echter niet eenvoudig gemaakt om vanuit een andere WordPress plugin betalingsgateways toe te voegen. In de Pronamic iDEAL plugin moeten we daarom op een omslachtige manier te werken gaan om dit toch te realiseren.

Hoe we dit gerealiseerd hebben voor Shopp versie 1.0 tot 1.2.9 is te zien in het volgende Pronamic iDEAL bestand:

https://github.com/pronamic/wp-pronamic-ideal/blob/2.3.1/classes/Pronamic/Shopp/IDeal/AddOn.php#L51

In de recente gelanceerde Shopp versie 1.3 functioneerde deze code echter niet meer correct. De Shopp ontwikkelaars hebben in het inladen van modules namelijk flink over de kop gegooid. Na de Shopp code van versie 1.3 helemaal doorgelopen hadden kwamen we al snel tot de conclusie dat de Shopp ontwikkelaars het ons vrij lastig hebben gemaakt.

De Shopp ontwikkelaars hebben vrijwel geen WordPress filters of acties beschikbaar gesteld om betalingsgateways vanaf andere locaties in te laden.  Wel worden binnen Shopp betalingsgateways nu vanaf 2 loacties ingeladen, namelijk:

  • /wp-content/plugins/shopp/gateways
  • /wp-content/shopp-addons

https://github.com/ingenesis/shopp/blob/1.3/core/model/Gateway.php#L453

Nu zou je denken dat daar dan eenvoudig een 3e locatie aan toegevoegd kan worden, maar dat was helaas niet het geval. De paden waren de betalingsgateways vanuit worden geladen stonden namelijk vast in de code en kunnen niet aangepast worden.

Uiteindelijk kwamen op het idee om de paden uit te breiden met behulp van de PHP Refelection bibliotheek. Met behulp van deze bibliotheek is het mogelijk om niet toegankelijke eigenschappen van classes/objecten wel toegankelijk te maken.

Via de volgende code konden we zo een nieuwe gateway moduels locatie toevoegen aan de Shopp plugin:

global $Shopp;

$class = new ReflectionClass( 'GatewayModules' );

$property = $class->getProperty( 'paths' );
$property->setAccessible( true );

$paths = $property->getValue( $Shopp->Gateways );
// @see https://github.com/ingenesis/shopp/blob/1.3/Shopp.php#L193
$paths[] = Pronamic_WordPress_IDeal_Plugin::$dirname . '/classes/Pronamic/Shopp/Gateways';

$property->setValue( $Shopp->Gateways, $paths );