- 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é secrète 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' => 'sk_live_VOTRE_CLE_PRIVEE',
'apiVersion' => 'LA_VERSION_API',
));
payplug.set_secret_key('sk_live_VOTRE_CLE_PRIVEE')
Les clés à utiliser avec l’API commencent par “sk_”.
Elles 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 la clé secrète.
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.