Sur la page d'accueil, clique sur Mon compte, puis sur Créer un compte, ou utilise le bouton S'inscrire gratuitement.
Remplis le formulaire d'inscription et tu obtiendras un email d'activation que tu devras confirmer.
Lorsque ton compte Paymill sera mis en place, tu auras accès au cockpit marchand. Là, tu pourras voir les transactions correspondant à tes clés-test et clés-live. A l’aide du bouton en haut sur ta droite, passe facilement de l’un à l’autre.
Tu auras besoin d’un jeu de deux clés pour utiliser Paymill :
Clé publique :
Clé privée :
Information importante au sujet des clés privées et publiques:
Tu recevras un jeu de clés test et un jeu de clés "live". Utilise les clés-test pour effectuer des transactions-test. Les clés "live" seront utilisées pour les vraies transactions par carte bancaire.
Si tu n'as pas de système de test, tu devras remplacer tes deux clés test par tes clés live avant de mettre ta page de paiement à la disposition de tes clients.
Rends-toi d'abord dans Mon compte, un menu apparaîtra avec les options Paramètres, Activation, Déconnexion.
Choisis l'option Paramètres, et une boîte de dialogue apparaîtra.
Il y a cinq onglets dans cette boîte de dialogue (Compte, Clés API, Supprimers les données, Paiements et Webhooks). Dans l’onglet Compte, tu pourras modifier ton mot de passe. Dans l’onglet Supprimer les données, tu pourras supprimer tes données-test. Paiements te permet d’ajouter ou de retirer des modes de paiement et de télécharger tes factures récentes (une fois que le compte est activé).
Dans l’onglet Clés API, tu trouveras tes clés test qui te permettront d’effectuer des paiements-test. Pour obtenir des paiements "live", il te faudra activer ton compte.
L’exemple suivant PHP peut être copié tel quel pour un test rapide de nos services.
Veuillez noter que vous devez avoir un compte PAYMILL validé avec les clés test (ci-dessus).
Pour des informations plus détaillées, nous t’invitons à lire les explications suivantes.
Tu trouveras un exemple de l'intégration du formulaire de paiement de Paymill sur GitHub ici sous forme d'intégration Gist. Tu trouveras plus d'informations au sujet de notre formulaire de paiement sur notre page Formulaire de paiement.
Le formulaire de paiement doit comprendre au minimum les champs suivants:
<script type="text/javascript">
var PAYMILL_PUBLIC_KEY = '2509489868036d8505c3624b2496074d';
</script>
<script type="text/javascript" src="/bf04fcff7bf9525aca395b4dfecd7e37/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://bridge.www.paymill.org/"></script>
<script type="text/javascript">
$(document).ready(function () {
function PaymillResponseHandler(error, result) {
if (error) {
// Displays the error above the form
$(".payment-errors").text(error.apierror);
} else {
$(".payment-errors").text("");
var form = $("#payment-form");
// Token
var token = result.token;
// Insert token into form in order to submit to server
form.append("<input type='hidden' name='paymillToken' value='" + token + "'/>");
form.get(0).submit();
}
$(".submit-button").removeAttr("disabled");
}
$("#payment-form").submit(function (event) {
// Deactivate submit button to avoid further clicks
$('.submit-button').attr("disabled", "disabled");
if (!paymill.validateCardNumber($('.card-number').val())) {
$(".payment-errors").text("Invalid card number");
$(".submit-button").removeAttr("disabled");
return false;
}
if (!paymill.validateExpiry(
$('.card-expiry-month').val(),
$('.card-expiry-year').val())
) {
$(".payment-errors").text("Invalid expiration date");
$(".submit-button").removeAttr("disabled");
return false;
}
paymill.createToken({
number: $('.card-number').val(),
exp_month: $('.card-expiry-month').val(),
exp_year: $('.card-expiry-year').val(),
cvc: $('.card-cvc').val(),
cardholder: $('.card-holdername').val(),
amount_int: $('.card-amount-int').val(), // E.g. "15" for 0.15 EUR
currency: $('.card-currency').val() // ISO 4217 e.g. "EUR"
}, PaymillResponseHandler);
return false;
});
});
</script>
Informations importantes au sujet des données des cartes bancaires dans ton formulaire HTML :
Avec le formulaire de paiement, il est important que tu ne mettes pas un paramètre nom
avec les tags <input>
pour les données des cartes bancaires !
Ainsi, les données de la carte bancaire ne seront pas renvoyées à ton serveur, et tu n'entreras pas dans le domaine d'application de la loi sur l'enregistrement de ce type de données (Conformité PCI).
JavaScript – Intégrer le Bridge Paymill
PAYMILL_PUBLIC_KEY
.https://bridge.www.paymill.org
Crée ton code de paiement à l'aide de la commande createToken
.
createToken
pour les cartes bancaires de tes clients à l'aide de la commande Create Token.createToken
pour carte de crédit:<script type="text/javascript">
var PAYMILL_PUBLIC_KEY = '2509489868036d8505c3624b2496074d';
</script>
<script type="text/javascript" src="/bf04fcff7bf9525aca395b4dfecd7e37/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://bridge.www.paymill.org/"></script>
<script type="text/javascript">
$(document).ready(function () {
function PaymillResponseHandler(error, result) {
if (error) {
// Displays the error above the form
$(".payment-errors").text(error.apierror);
} else {
$(".payment-errors").text("");
var form = $("#payment-form");
// Token
var token = result.token;
// Insert token into form in order to submit to server
form.append("<input type='hidden' name='paymillToken' value='" + token + "'/>");
form.get(0).submit();
}
$(".submit-button").removeAttr("disabled");
}
$("#payment-form").submit(function (event) {
// Deactivate submit button to avoid further clicks
$('.submit-button').attr("disabled", "disabled");
if (!paymill.validateCardNumber($('.card-number').val())) {
$(".payment-errors").text("Invalid card number");
$(".submit-button").removeAttr("disabled");
return false;
}
if (!paymill.validateExpiry(
$('.card-expiry-month').val(),
$('.card-expiry-year').val())
) {
$(".payment-errors").text("Invalid expiration date");
$(".submit-button").removeAttr("disabled");
return false;
}
paymill.createToken({
number: $('.card-number').val(),
exp_month: $('.card-expiry-month').val(),
exp_year: $('.card-expiry-year').val(),
cvc: $('.card-cvc').val(),
cardholder: $('.card-holdername').val(),
amount_int: $('.card-amount-int').val(), // Integer e.g. "15" for 0.15 EUR
currency: $('.card-currency').val() // ISO 4217 e.g. "EUR"
}, PaymillResponseHandler);
return false;
});
});
</script>
<div class="payment-errors"></div>
<form id="payment-form" action="request.php" method="POST">
<input class="card-amount-int" type="hidden" value="15" />
<input class="card-currency" type="hidden" value="EUR" />
<div class="form-row"><label>Card number</label>
<input class="card-number" type="text" value="4111111111111111" size="20" /></div>
<div class="form-row"><label>CVC</label>
<input class="card-cvc" type="text" value="111" size="4" /></div>
<div class="form-row"><label>Name</label>
<input class="card-holdername" type="text" value="Joe Doe" size="20" /></div>
<div class="form-row"><label>Expiry Date (MM/YYYY)</label>
<input class="card-expiry-month" type="text" value="02" size="2" />
<span> / </span>
<input class="card-expiry-year" type="text" value="2015" size="4" /></div>
<button class="submit-button" type="submit">Submit</button>
</form>
Fais une copie de notre bibliothèque PHP vers un sous-dossier, lib par exemple.
Tu trouveras notre adaptateur (wrapper) PHP ici: https://github.com/Paymill/Paymill-PHP
La procédure usuelle est la suivante:
https://api.www.paymill.org/v2
<?php
$token = $_POST['paymillToken'];
if ($token) {
$request = new Paymill\Request('20c8b46fe20714ad3549a6267dc647ec');
$transaction = new Paymill\Models\Request\Transaction();
$transaction->setAmount(4200) // e.g. "4200" for 42.00 EUR
->setCurrency('EUR')
->setToken($token)
->setDescription('Test Transaction');
$response = $request->create($transaction);
echo "Transaction: ";
print_r($response);
}