NAV Navbar
Logo

- 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.

Installez la librairie

1- Téléchargez la librairie sur GitHub :

github.com/payplug/payplug-php

github.com/payplug/payplug-python

2- Ajoutez dans toutes vos pages utilisant l’API :

<?php
require_once('PATH_TO_PAYPLUG/payplug_php/lib/init.php');
import payplug

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

create a payment

  1. 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é.
  2. 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.
  3. Après avoir renseigné son numéro de carte, votre client sera automatiquement redirigé vers la page de retour de votre site.
  4. 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.

Fonctionnalités  Compatibilité
Refund a payment request
Retrieve a payment request
Update a payment request
Capture a payment request
Abort a payment request
Save a card
Notifications  
Installment plans  

Liens et ressources


[ Retourner au début de la présentation ]