mirror of
https://github.com/0100Dev/WHMCS-Mollie-Payments.git
synced 2026-01-18 03:28:18 +01:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
88446ee9a3 | ||
|
|
8f8aee016d | ||
|
|
f01ce080a4 | ||
|
|
ed2cb8da15 | ||
|
|
3b5df871b8 | ||
|
|
4c31da5ba3 | ||
|
|
baf13db08b | ||
|
|
16f333c39c | ||
|
|
664b2a7cfb | ||
|
|
fd9a3e39b1 | ||
|
|
c2857294b3 | ||
|
|
e356f9cfc1 |
46
README.md
46
README.md
@@ -1,41 +1,21 @@
|
|||||||
# WHMCS Mollie Gateway
|
# WHMCS Mollie Payments gateway  
|
||||||
Onofficiële Mollie gateway voor WHMCS. In deze gratis plugin zit GEEN ondersteuning voor Mollie Recurring (SEPA/Automatisch Incasso). Hiervoor hebben we een [betaalde](https://0100dev.nl/modules/whmcs#WHMCS%20Mollie%20Recurring) plugin. Deze plugins zijn niet afhankelijk van elkaar en kunnen naast elkaar opereren maar ook zonder elkaar.
|
Unofficial Mollie Payments gateway for WHMCS. This free gateway does NOT support Mollie Recurring, only Molie Payments. For Mollie Recurring we have a [paid](https://0100dev.nl/modules/whmcs#WHMCS%20Mollie%20Recurring) gateway. These gateways are not dependent on each other and can operate side by side, but also without each other.
|
||||||
|
|
||||||
Compatible met **alle** WHMCS versies.
|
Compatible with **all** WHMCS versions that are [supported by WHMCS](https://docs.whmcs.com/Long_Term_Support#WHMCS_Version_.26_LTS_Schedule).
|
||||||
|
|
||||||
### Installatie via SSH
|
### Installation
|
||||||
+ Log in op SSH (of console) en zorg dat GIT geinstalleerd is op uw webserver.
|
+ Log in to your (s)FTP.
|
||||||
+ Ga naar een tijdelijke folder (bijvoorbeeld `/tmp`) en voer het onderstaande commando uit.
|
+ Download the `WHMCS-Mollie-Payments.zip` from the [releases page](https://github.com/0100Dev/WHMCS-Mollie/releases) (**PLEASE NOTE:** **not** `Source code (zip)` or `Source code (tar.gz)`!).
|
||||||
+ ``` git clone https://github.com/0100Dev/WHMCS-Mollie.git```
|
+ Upload all the files from the `src` folder to the `/modules/gateways` folder in your WHMCS installation.
|
||||||
+ Ga in de `WHMCS-Mollie` folder die zojuist met het vorige commando aangemaakt is.
|
|
||||||
+ Installeer Composer op de webserver of volg de instructies [hier](https://getcomposer.org/download/) en voer daarna het onderstaande commando uit.
|
|
||||||
+ ```composer install```
|
|
||||||
+ Ga naar de root van de WHMCS installatie (de hoofd folder) en dan naar `modules/gateways`.
|
|
||||||
+ Kopieer nu alles uit de `WHMCS-Mollie/src` folder van enkele stappen terug naar de huidige folder.
|
|
||||||
|
|
||||||
### Installatie via FTP
|
### Payment Methodes
|
||||||
+ Log in op FTP.
|
All payment methods from Mollie are supported (which is also supported by their API). Enable the desired payment methods by activating the gateway in WHMCS.
|
||||||
+ Download de `whmcs-mollie.tar.gz` van onze [releases pagina](https://github.com/0100Dev/WHMCS-Mollie/releases) (**LET OP:** **niet** `Source code (zip)` of `Source code (tar.gz)`!).
|
|
||||||
+ Upload alles uit de `src` folder uit de hierboven gedownloaden TAR in de `/modules/gateways` folder van uw WHMCS installatie.
|
|
||||||
|
|
||||||
### Betaalmethodes
|
Support for new payment methods must be added manually, due to the structure of this gateway. It can therefore take a while before a new payment method is supported. Is it urgent? Contact our paid support or add support for it yourself and contribute it back using a pull request.
|
||||||
Alle betaalmethodes van Mollie zijn ondersteund (welke ook door hun API ondersteund word). Zet de gewenste betaalmethodes aan door de gateway in WHMCS te activeren.
|
|
||||||
|
|
||||||
Betaalmethodes moeten door de structuur van deze gateway handmatig toegevoegd worden. Het kan dus even duren voordat een betaalmethode toegevoegd word. Heeft het haast? Zie het kopje Support.
|
You can use `Mollie Checkout` to use the Mollie Payments checkout pages. In this case it'll use the Mollie Payments checkout screen and show all enabled payment methodes in your Mollie account.
|
||||||
|
|
||||||
### Updates
|
|
||||||
|
|
||||||
#### Naar V2.0 of hoger
|
|
||||||
Deze release is NIET compatible met V1.x. Verwijder eerst alle files vanuit je /modules/gateways folder die betrekking hebben op deze gateway. Alles dus met mollie_x.php. In WHMCS dien je ook opnieuw deze gateways in te schakelen. WHMCS zal aangeven dat de ouded gateways niet meer gevonden kunnen worden, dit klopt - verwijder deze en vervang deze met de nieuw ingeschakelde.
|
|
||||||
|
|
||||||
Let erop dat je bijvoorbeeld NIET onze mollierecurring.php moet verwijderen, als je onze betaalde Mollie Recurring gateway actief hebt.
|
|
||||||
|
|
||||||
#### Naar V2.5 of hoger
|
|
||||||
In deze release zijn de betaalmethodes KBC/CBC, ING Home'Pay, Giropay, Giftcards en EPS erbij gekomen. Verder is de gateway vernieuwd van een modernere package manager en is Mistercash van naam veranderd naar Bancontact.
|
|
||||||
|
|
||||||
U kunt de files uploaden en simpelweg overschrijven (zie instructie bij Installatie), maar zorg wel dat u de oude Bancontact/Mistercash gateway uitschakeld en de nieuwe inschakeld als Bancontact.
|
|
||||||
|
|
||||||
### Support
|
### Support
|
||||||
Support op basis van best-effort in Github via haar issuetracker. Business support (reactietijd van max. 24 uur, normaliter <1 uur) via ons [klantenpaneel](https://my.0100dev.nl/) tegen ons uurtarief a € 45,- excl. VAT. Maak een account aan en stuur via daar een ticket in.
|
Support is best-effort through the Github issue tracker. Business support (responsetime within 24 hours, normally less then 1 hour) through our [website](https://0100dev.nl/) against our hourly rate at € 75,- excl. VAT. Please create an account at our website before contacting us.
|
||||||
|
|
||||||
[Meer informatie via Mollie](https://www.mollie.nl/betaaldiensten/)
|
[More information through Mollie about Mollie Payments](https://www.mollie.com/en/payments)
|
||||||
|
|||||||
12
composer.lock
generated
12
composer.lock
generated
@@ -247,16 +247,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mollie/mollie-api-php",
|
"name": "mollie/mollie-api-php",
|
||||||
"version": "v2.8.3",
|
"version": "v2.10.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/mollie/mollie-api-php.git",
|
"url": "https://github.com/mollie/mollie-api-php.git",
|
||||||
"reference": "df6e0cea662f3c9603f245816cc2982e8ae49bcf"
|
"reference": "151bdb85c325f6768452a3d8461930589be85729"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/df6e0cea662f3c9603f245816cc2982e8ae49bcf",
|
"url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/151bdb85c325f6768452a3d8461930589be85729",
|
||||||
"reference": "df6e0cea662f3c9603f245816cc2982e8ae49bcf",
|
"reference": "151bdb85c325f6768452a3d8461930589be85729",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -294,12 +294,12 @@
|
|||||||
"homepage": "https://www.mollie.com/en/developers",
|
"homepage": "https://www.mollie.com/en/developers",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"CBC",
|
"CBC",
|
||||||
|
"Przelewy24",
|
||||||
"api",
|
"api",
|
||||||
"bancontact",
|
"bancontact",
|
||||||
"banktransfer",
|
"banktransfer",
|
||||||
"belfius",
|
"belfius",
|
||||||
"belfius direct net",
|
"belfius direct net",
|
||||||
"bitcoin",
|
|
||||||
"charges",
|
"charges",
|
||||||
"creditcard",
|
"creditcard",
|
||||||
"direct debit",
|
"direct debit",
|
||||||
@@ -328,7 +328,7 @@
|
|||||||
"sofortbanking",
|
"sofortbanking",
|
||||||
"subscriptions"
|
"subscriptions"
|
||||||
],
|
],
|
||||||
"time": "2019-04-11T12:19:05+00:00"
|
"time": "2019-05-20T09:07:29+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/http-message",
|
"name": "psr/http-message",
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ if (isset($_POST['id'])) {
|
|||||||
|
|
||||||
$method = $transaction['method'];
|
$method = $transaction['method'];
|
||||||
|
|
||||||
|
if (empty($method)) {
|
||||||
|
$method = 'checkout';
|
||||||
|
}
|
||||||
|
|
||||||
$_GATEWAY = getGatewayVariables('mollie' . $method . '_devapp');
|
$_GATEWAY = getGatewayVariables('mollie' . $method . '_devapp');
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ $_GATEWAYLANG['checkPayment'] = 'We controleren je betaling, moment geduld...';
|
|||||||
|
|
||||||
$_GATEWAYLANG['payWithBanktransfer'] = 'Betaal met Bank overschrijving';
|
$_GATEWAYLANG['payWithBanktransfer'] = 'Betaal met Bank overschrijving';
|
||||||
$_GATEWAYLANG['payWithBelfius'] = 'Betaal met Belfius';
|
$_GATEWAYLANG['payWithBelfius'] = 'Betaal met Belfius';
|
||||||
$_GATEWAYLANG['payWithBitcoin'] = 'Betaal met Bitcoin';
|
|
||||||
$_GATEWAYLANG['payWithCreditcard'] = 'Betaal met Creditcard';
|
$_GATEWAYLANG['payWithCreditcard'] = 'Betaal met Creditcard';
|
||||||
$_GATEWAYLANG['payWithIdeal'] = 'Betaal met iDeal';
|
$_GATEWAYLANG['payWithIdeal'] = 'Betaal met iDeal';
|
||||||
$_GATEWAYLANG['payWithBancontact'] = 'Betaal met Bancontact';
|
$_GATEWAYLANG['payWithBancontact'] = 'Betaal met Bancontact';
|
||||||
@@ -22,3 +21,6 @@ $_GATEWAYLANG['payWithGiftcard'] = 'Betaal met een cadeaukaart';
|
|||||||
$_GATEWAYLANG['payWithGiropay'] = 'Betaal met Giropay';
|
$_GATEWAYLANG['payWithGiropay'] = 'Betaal met Giropay';
|
||||||
$_GATEWAYLANG['payWithInghomepay'] = 'Betaal met ING Home\'Pay';
|
$_GATEWAYLANG['payWithInghomepay'] = 'Betaal met ING Home\'Pay';
|
||||||
$_GATEWAYLANG['payWithKbc'] = 'Betaal met KBC/CBC-betaalknop';
|
$_GATEWAYLANG['payWithKbc'] = 'Betaal met KBC/CBC-betaalknop';
|
||||||
|
$_GATEWAYLANG['payWithPrzelewy24'] = 'Betaal met Przelewy24';
|
||||||
|
$_GATEWAYLANG['payWithApplepay'] = 'Betaal met Apple Pay';
|
||||||
|
$_GATEWAYLANG['payWith'] = 'Betaal met Mollie';
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
$_GATEWAYLANG = array();
|
$_GATEWAYLANG = array();
|
||||||
|
|
||||||
$_GATEWAYLANG['selectBank'] = 'Select bank';
|
$_GATEWAYLANG['selectBank'] = 'Select bank';
|
||||||
$_GATEWAYLANG['selectLater'] = 'Select later';
|
|
||||||
|
|
||||||
$_GATEWAYLANG['errorTransactionNotFound'] = 'Transaction is not found. Please try again.';
|
$_GATEWAYLANG['errorTransactionNotFound'] = 'Transaction is not found. Please try again.';
|
||||||
|
|
||||||
@@ -11,7 +10,6 @@ $_GATEWAYLANG['checkPayment'] = 'Checking your payment, please wait...';
|
|||||||
|
|
||||||
$_GATEWAYLANG['payWithBanktransfer'] = 'Pay with Bank Transfer';
|
$_GATEWAYLANG['payWithBanktransfer'] = 'Pay with Bank Transfer';
|
||||||
$_GATEWAYLANG['payWithBelfius'] = 'Pay with Belfius';
|
$_GATEWAYLANG['payWithBelfius'] = 'Pay with Belfius';
|
||||||
$_GATEWAYLANG['payWithBitcoin'] = 'Pay with Bitcoin';
|
|
||||||
$_GATEWAYLANG['payWithCreditcard'] = 'Pay with Credit Card';
|
$_GATEWAYLANG['payWithCreditcard'] = 'Pay with Credit Card';
|
||||||
$_GATEWAYLANG['payWithIdeal'] = 'Pay with iDeal';
|
$_GATEWAYLANG['payWithIdeal'] = 'Pay with iDeal';
|
||||||
$_GATEWAYLANG['payWithBancontact'] = 'Pay with Bancontact';
|
$_GATEWAYLANG['payWithBancontact'] = 'Pay with Bancontact';
|
||||||
@@ -23,3 +21,6 @@ $_GATEWAYLANG['payWithGiftcard'] = 'Pay with a gift card';
|
|||||||
$_GATEWAYLANG['payWithGiropay'] = 'Pay with Giropay';
|
$_GATEWAYLANG['payWithGiropay'] = 'Pay with Giropay';
|
||||||
$_GATEWAYLANG['payWithInghomepay'] = 'Pay with ING Home\'Pay';
|
$_GATEWAYLANG['payWithInghomepay'] = 'Pay with ING Home\'Pay';
|
||||||
$_GATEWAYLANG['payWithKbc'] = 'Pay with KBC/CBC Payment Button';
|
$_GATEWAYLANG['payWithKbc'] = 'Pay with KBC/CBC Payment Button';
|
||||||
|
$_GATEWAYLANG['payWithPrzelewy24'] = 'Pay with Przelewy24';
|
||||||
|
$_GATEWAYLANG['payWithApplepay'] = 'Pay with Apple Pay';
|
||||||
|
$_GATEWAYLANG['payWith'] = 'Pay with Mollie';
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ function mollie_link($params, $method = Mollie_API_Object_Method::IDEAL)
|
|||||||
return '<br/><img src="' . $params['systemurl'] . 'modules/gateways/mollie/ajax_loader.gif" /><br/>' . $_GATEWAYLANG['checkPayment'] . ' <script> window.onload = function(){ setTimeout("location.reload(true);", 2000); } </script>';
|
return '<br/><img src="' . $params['systemurl'] . 'modules/gateways/mollie/ajax_loader.gif" /><br/>' . $_GATEWAYLANG['checkPayment'] . ' <script> window.onload = function(){ setTimeout("location.reload(true);", 2000); } </script>';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (isset($_POST['start']) || (isset($_GET['a']) && $_GET['a'] == 'complete') || (isset($_GET['action']) && ($_GET['action'] == 'addfunds' || $_GET['action'] == 'masspay') && isset($_POST['paymentmethod']) && $_POST['paymentmethod'] == 'mollie' . $method)) {
|
if (isset($_POST['start']) || isset($_POST['issuer']) || (isset($_GET['a']) && $_GET['a'] == 'complete') || (isset($_GET['action']) && ($_GET['action'] == 'addfunds' || $_GET['action'] == 'masspay') && isset($_POST['paymentmethod']) && $_POST['paymentmethod'] == 'mollie' . $method)) {
|
||||||
|
|
||||||
$transactionCurrency = select_query('tblcurrencies', '', array('code' => $params['currency']), null, null, 1);
|
$transactionCurrency = select_query('tblcurrencies', '', array('code' => $params['currency']), null, null, 1);
|
||||||
$transactionCurrency = mysql_fetch_assoc($transactionCurrency);
|
$transactionCurrency = mysql_fetch_assoc($transactionCurrency);
|
||||||
@@ -93,7 +93,7 @@ function mollie_link($params, $method = Mollie_API_Object_Method::IDEAL)
|
|||||||
'method' => $method,
|
'method' => $method,
|
||||||
'description' => $params['description'],
|
'description' => $params['description'],
|
||||||
'redirectUrl' => $params['returnurl'] . '&check_payment=' . $transactionId,
|
'redirectUrl' => $params['returnurl'] . '&check_payment=' . $transactionId,
|
||||||
'webhookUrl' => $params['systemurl'] . 'modules/gateways/mollie/callback.php',
|
'webhookUrl' => $params['systemurl'] . '/modules/gateways/mollie/callback.php',
|
||||||
'metadata' => array(
|
'metadata' => array(
|
||||||
'invoice_id' => $params['invoiceid'],
|
'invoice_id' => $params['invoiceid'],
|
||||||
),
|
),
|
||||||
@@ -105,7 +105,7 @@ function mollie_link($params, $method = Mollie_API_Object_Method::IDEAL)
|
|||||||
header('Location: ' . $payment->getCheckoutUrl());
|
header('Location: ' . $payment->getCheckoutUrl());
|
||||||
exit();
|
exit();
|
||||||
} else {
|
} else {
|
||||||
$return = '<form action="" method="POST">';
|
$return = '<form action="viewinvoice.php?id=' . $params['invoiceid'] . '" method="POST">';
|
||||||
|
|
||||||
if ($method == \Mollie\Api\Types\PaymentMethod::IDEAL) {
|
if ($method == \Mollie\Api\Types\PaymentMethod::IDEAL) {
|
||||||
$issuers = $mollie->methods->get('ideal', ['include' => 'issuers'])->issuers;
|
$issuers = $mollie->methods->get('ideal', ['include' => 'issuers'])->issuers;
|
||||||
|
|||||||
@@ -2,21 +2,21 @@
|
|||||||
|
|
||||||
require_once __DIR__ . '/mollie/mollie.php';
|
require_once __DIR__ . '/mollie/mollie.php';
|
||||||
|
|
||||||
function molliebitcoin_devapp_config()
|
function mollieapplepay_devapp_config()
|
||||||
{
|
{
|
||||||
$config = mollie_config();
|
$config = mollie_config();
|
||||||
|
|
||||||
$config = array_merge($config, array(
|
$config = array_merge($config, array(
|
||||||
'FriendlyName' => array(
|
'FriendlyName' => array(
|
||||||
'Type' => 'System',
|
'Type' => 'System',
|
||||||
'Value' => 'Mollie Bitcoin'
|
'Value' => 'Mollie Apple Pay'
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
return $config;
|
return $config;
|
||||||
}
|
}
|
||||||
|
|
||||||
function molliebitcoin_devapp_link($params)
|
function mollieapplepay_devapp_link($params)
|
||||||
{
|
{
|
||||||
return mollie_link($params, \Mollie\Api\Types\PaymentMethod::BITCOIN);
|
return mollie_link($params, \Mollie\Api\Types\PaymentMethod::APPLEPAY);
|
||||||
}
|
}
|
||||||
23
src/molliecheckout_devapp.php
Normal file
23
src/molliecheckout_devapp.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once __DIR__ . '/mollie/mollie.php';
|
||||||
|
|
||||||
|
function molliecheckout_devapp_config()
|
||||||
|
{
|
||||||
|
$config = mollie_config();
|
||||||
|
|
||||||
|
$config = array_merge($config, array(
|
||||||
|
'FriendlyName' => array(
|
||||||
|
'Type' => 'System',
|
||||||
|
'Value' => 'Mollie Checkout'
|
||||||
|
)
|
||||||
|
));
|
||||||
|
|
||||||
|
return $config;
|
||||||
|
}
|
||||||
|
|
||||||
|
function molliecheckout_devapp_link($params)
|
||||||
|
{
|
||||||
|
return mollie_link($params, null);
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user