Mollie driver for the WordPress payment processing library.
Please note that an webhook URL with the host localhost
or with the TLD .dev
are not allowed,
this library will check on WordPress URL's on localhost
or on the .dev
TLD and will not pass
the webhookUrl
parameter to Mollie. If you want to test the Mollie webhook URL on an local
development environment you could use a service like ngrok.
Beste Remco,
Ja dit is inderdaad het probleem. .dev URL's worden niet ondersteunt. Deze zal ook niet bereikbaar zijn.
Als je report URL niet publiekelijk bereikbaar is zou je een service als https://ngrok.com kunnen gebruiken. Dit is een programma die je lokaal draait en als proxy werkt. Misschien heb je er iets aan.
Met vriendelijke groet,
Lennard van Gunst Mollie
curl --request POST "https://www.example.com/wp-json/pronamic-pay/mollie/v1/webhook" \
--data "id=test" \
--user-agent "Mollie HTTP"
The Pronamic Pay Mollie gateway can handle Mollie webhook requests via the WordPress REST API.
Route: /wp-json/pronamic-pay/mollie/v1/webhook
The WordPress REST API Mollie webhook endpoint can be tested with for example cURL:
curl --request POST --data "id=tr_d0b0E3EA3v" http://pay.test/wp-json/pronamic-pay/mollie/v1/webhook
Legacy webhook URL:
curl --request POST --data "id=tr_d0b0E3EA3v" "http://pay.test/?mollie_webhook"
For those who have never heard before WP-CLI, here's a brief description extracted from the official website.
WP-CLI is a set of command-line tools for managing WordPress installations. You can update plugins, set up multisite installs and much more, without using a web browser.
$ wp pronamic-pay mollie
usage: wp pronamic-pay mollie customers <command>
or: wp pronamic-pay mollie organizations <command>
See 'wp help pronamic-pay mollie <command>' for more information on a specific command.
Synchronize Mollie customers to WordPress.
$ wp pronamic-pay mollie customers synchronize
Connect Mollie customers to WordPress users by email.
$ wp pronamic-pay mollie customers connect-wp-users
Filters the Mollie payment description.
\add_filter( 'pronamic_pay_mollie_payment_description', 'your_function_name', 10, 2 );
$description
| string
Mollie payment description.
$payment
| Payment Object
The WordPress payment object.
\add_filter( 'pronamic_pay_mollie_payment_description', function( $description, $payment ) {
$periods = $payment->get_periods();
if ( null === $periods ) {
return $description;
}
foreach ( $periods as $period ) {
$phase = $period->get_phase();
$subscription = $phase->get_subscription();
$description = \sprintf(
'%s - %s - %s',
$subscription->get_description(),
$period->get_start_date()->format_i18n( 'd-m-Y' ),
$period->get_end_date()->format_i18n( 'd-m-Y' )
);
}
return $description;
}, 10, 2 );
Filters the Mollie payment metadata.
\add_filter( 'pronamic_pay_mollie_payment_metadata', 'your_function_name', 10, 2 );
$metadata
| mixed
Mollie payment metadata.
$payment
| Payment Object
The WordPress payment object.
\add_filter( 'pronamic_pay_mollie_payment_metadata', function( $metadata, $payment ) {
$data = array();
$customer = $payment->get_customer();
if ( null !== $customer ) {
$vat_number = $customer->get_vat_number();
if ( null !== $vat_number ) {
$data['vat_number'] = $vat_number->normalized();
}
}
switch ( $payment->get_source() ) {
case 'easydigitaldownloads':
$data['edd_order_id'] = $payment->get_source_id();
break;
case 'gravityformsideal':
$data['gf_entry_id'] = $payment->get_source_id();
break;
}
return (object) $data;
}, 10, 2 );
Filters the Mollie payment billing email used for bank transfer payment instructions.
\add_filter( 'pronamic_pay_mollie_payment_billing_email', 'your_function_name', 10, 2 );
$billing_email
| string|null
The Mollie payment billing email.
$payment
| Payment Object
The WordPress payment object.
\add_filter( 'pronamic_pay_mollie_payment_billing_email', function( $billing_email, $payment ) {
$billing_email = 'mollie-billing-email@example.com';
return $billing_email;
}, 10, 2 );
DELETE
meta
FROM
wp_usermeta AS meta
INNER JOIN
wp_users AS user
ON user.ID = user_id
WHERE
(
meta_key = '_pronamic_pay_mollie_customer_id'
OR
meta_key = '_pronamic_pay_mollie_customer_id_test'
)
AND
user.user_login = 'username'
;