This is a Payment Service Provider (PSP) module for mod_payment:
https://github.com/driebit/mod_payment
This module interfaces mod_payment to the PSP Buckaroo (https://buckaroo.nl/)
The following configuration keys can be set:
-
mod_payment_buckaroo.is_liveset this to1to switch from the test transactions to the live Buckaroo systems. Default the module is set up to use test transactions. -
mod_payment_buckaroo.website_keythe website API key for Buckaroo API requests. You can find this key on https://plaza.buckaroo.nl/Configuration/WebSite/Index/ -
mod_payment_buckaroo.secret_keythe secret API key for Buckaroo API requests. This is the key that can be set at https://plaza.buckaroo.nl/Configuration/Merchant/SecretKey -
mod_payment_buckaroo.invoice_nr_prefixthe payment-id is used as the buckaroo invoice number. It is prefixed with this config key, which defaults to"INV". The payment-id is formatted as:"INV0000.0000.0012" -
mod_payment_buckaroo.services_excludedthe services excluded from the payment form. A comma separated list of service codes, see https://dev.buckaroo.nl/PaymentMethods Example:paypal,AlipayLeave empty to allow all services. -
mod_payment_buckaroo.services_selectablethe services selectable from the payment form. A comma separated list of service codes, see https://dev.buckaroo.nl/PaymentMethods The order of this list is also the order on the payment form. Example:ideal,paypalLeave empty to allow all services in their default order.
The webhook does not need to be installed at Buckaroo, a push-url is automatically added to every transaction request.
Same for the Redirect urls, they are also generated for every transaction and don't need to be configured at Buckaroo.
Note that the webhook must be accessible on one of the following ports: 22; 44; 80; 8443; 8787; 8880; 8888. As Buckaroo does not support any other ports. The protocol can be http: or https: (no self-signed certs).
For the webhook to function correctly the push content type must be set to json.
This can be done at Buckaroo:
Mijn Buckaroo > Websites > Push instellingen
Find the field Selecteer push contenttype, and select json.
The following mapping of Buckaroo codes (https://support.buckaroo.nl/categorieën/transacties/status) is made:
- 190:
paid - 490:
failed - 491:
failed - 492:
failed - 690:
canceled - 790:
pending - 791:
pending - 792:
pending - 793:
pending - 890:
canceled - 891:
canceled
All other codes are ignored and logged with an error.
mod_payment_buckaroo.webhook_hostthis should be the host (withhttp:prefix) where Buckaroo should send the webhook messages. Only use this if your (development) site is reachable from the outside via a different URL than the configured hostnames.
If the config key mod_payment_buckaroo.is_live is not set then the buckaroo test url
will be used and the following bank and credit cards can be used for testing:
https://support.buckaroo.nl/categorieën/integratie/test-gegevens