- Guide rapide -
Créer une demande de paiement
Envoyer une demande de paiement à un client.
Quel langage de programmation préférez-vous?
| PHP
| Python
|
Pour naviguer dans la présentation, appuyez sur les flèches directionnelles ou sur la touche espace de votre clavier.
Authentifiez-vous
L’authentification à l’API s’effectue en utilisant une clé API dans toutes les requêtes envoyées.
Pour utiliser la clé, ajoutez-là dans toutes vos pages utilisant l’API :
<?php
\Payplug\Payplug::init(array(
'secretKey' => 'eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxMjM0NTYifQ.c2lnbmF0dXJl',
'apiVersion' => 'LA_VERSION_API',
));
payplug.set_secret_key('eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxMjM0NTYifQ.c2lnbmF0dXJl')
Les anciennes clés secrètes, qui commencent par “sk_”, sont obsolètes : elles fonctionnent encore, mais d’ici quelques mois elles ne permettront plus de vous authentifier.
Les clés API sont disponibles dans le portail PayPlug en cliquant sur “Paramètres” puis sur “Clés API”.
Les modes TEST et LIVE utilisent le même endpoint, pour changer de mode à l’autre il suffit de changer de clé.
Consultez le changelog pour savoir quelle version d’API utiliser.
Fonctionnement d’une demande de paiement

- Créez la demande de paiement en utilisant
sent_by pour la méthode d’envoi; Un lien vers la page de paiement sera généré.
- Selon la méthode d’envoi sélectionnée un SMS ou un e-mail sera envoyé à votre client.
Sinon vous pouvez gérer la redirection.
- Après avoir renseigné son numéro de carte, votre client sera automatiquement redirigé vers la page de retour de votre site.
- PayPlug vous envoie une confirmation via notification (IPN).
Méthodes d’envoi d’une demande de paiement
Avec la demande de paiement, vous pouvez spécifier comment envoyer l’URL vers
la page de paiement à votre client :
| Options |
Expiration |
Description |
| SMS |
|
Envoyer un SMS à votre client avec l’URL de paiement. |
| EMAIL |
|
Envoyer un e-mail à votre client avec l’URL de paiement. |
| OTHER |
|
Une URL de paiement sans expiration est générée. Vous devez gérer l’envoi de cette URL à votre client. |
| NULL |
|
Une URL de paiement est générée et expire 15 minutes après ouverture. |
Créer une demande de paiement par e-mail
Le code suivant détaille l’exemple d’une demande de paiement envoyée automatiquement par e-mail
à votre client avec un lien vers la page de paiement.
<?php
$email = 'john.watson@example.net';
$amount = 33;
$customer_id = '42710';
$payment = \Payplug\Payment::create(array(
'amount' => $amount * 100,
'currency' => 'EUR',
'billing' => array(
'title' => 'mr',
'first_name' => 'John',
'last_name' => 'Watson',
'email' => $email,
'address1' => '221B Baker Street',
'postcode' => 'NW16XE',
'city' => 'London',
'country' => 'GB',
'language' => 'en'
),
'shipping' => array(
'title' => 'mr',
'first_name' => 'John',
'last_name' => 'Watson',
'email' => $email,
'address1' => '221B Baker Street',
'postcode' => 'NW16XE',
'city' => 'London',
'country' => 'GB',
'language' => 'en',
'delivery_type' => 'BILLING'
),
'hosted_payment' => array(
'return_url' => 'https://example.net/return?id='.$customer_id,
'cancel_url' => 'https://example.net/cancel?id='.$customer_id,
'sent_by' => 'EMAIL'
),
'notification_url' => 'https://example.net/notifications?id='.$customer_id,
'metadata' => array(
'customer_id' => $customer_id
)
));
$payment_url = $payment->hosted_payment->payment_url;
$payment_id = $payment->id;
payment_data = {
'amount': 3300,
'currency': 'EUR',
'customer': {
'email': 'john.watson@example.net'
},
'hosted_payment': {
'return_url': 'https://example.net/return?id=42710',
'cancel_url': 'https://example.net/cancel?id=42710',
'sent_by': 'EMAIL',
},
'notification_url': 'https://example.net/notifications?id=42710',
'metadata': {
'customer_id': 42710,
},
}
payment = payplug.Payment.create(**payment_data)
payment_id = str(payment.id)
NOTE: Tous les montants doivent être des entiers positifs
(1€ = 100 centimes).
Créer une demande de paiement par SMS
Le code suivant détaille l’exemple d’une demande de paiement envoyée automatiquement par SMS
à votre client avec un lien vers la page de paiement.
<?php
$email = 'john.watson@example.net';
$phone_number = '+33600000000';
$amount = 33;
$customer_id = '42710';
$payment = \Payplug\Payment::create(array(
'amount' => $amount * 100,
'currency' => 'EUR',
'billing' => array(
'title' => 'mr',
'first_name' => 'John',
'last_name' => 'Watson',
'email' => $email,
'mobile_phone_number' => $phone_number,
'address1' => '221B Baker Street',
'postcode' => 'NW16XE',
'city' => 'London',
'country' => 'GB',
'language' => 'en'
),
'shipping' => array(
'title' => 'mr',
'first_name' => 'John',
'last_name' => 'Watson',
'email' => $email,
'mobile_phone_number' => $phone_number,
'address1' => '221B Baker Street',
'postcode' => 'NW16XE',
'city' => 'London',
'country' => 'GB',
'language' => 'en'
'delivery_type' => 'BILLING'
),
'hosted_payment' => array(
'return_url' => 'https://example.net/return?id='.$customer_id,
'cancel_url' => 'https://example.net/cancel?id='.$customer_id,
'sent_by' => 'SMS'
),
'notification_url' => 'https://example.net/notifications?id='.$customer_id,
'metadata' => array(
'customer_id' => $customer_id
)
));
$payment_url = $payment->hosted_payment->payment_url;
$payment_id = $payment->id;
payment_data = {
'amount': 3300,
'currency': 'EUR',
'customer': {
'email': 'john.watson@example.net',
'phone_number':'+33600000000',
},
'hosted_payment': {
'return_url': 'https://example.net/return?id=42710',
'cancel_url': 'https://example.net/cancel?id=42710',
'sent_by': 'SMS',
},
'notification_url': 'https://example.net/notifications?id=42710',
'metadata': {
'customer_id': 42710,
},
}
payment = payplug.Payment.create(**payment_data)
payment_id = str(payment.id)
NOTE: Pour envoyer un SMS, la variable phone_number doit être renseignée.
Compatibilité de la demande de paiement
La demande de paiement est compatible avec une grande majorité des fonctionnalités de l’API.