Envoi

API REST SimplyPaie

SimplyPaie dispose d'une API REST, qui vous permet d'accéder aux fonctionnalités de SimplyPaie depuis votre application.

Pour tout votre processus d'intégration, n'hésitez pas à créer votre compte de test sur notre espace Sandbox.

1. Connexion à l'API

2. Créer une demande de paiement

3. Récupérer une liste de demandes de paiements

4. Effectuer une relance de paiement

5. Annuler une demande de paiement

6. Encaisser une caution

7. Rembourser un paiement

8. Créer une facture

Connexion à l'API

# Envoyez votre requête GET à cette url :
GET https://www.simplypaie.fr/api/connection HTTP/1.1

# Avec vos identifiants en headers :
  'apiClientId: 123456',
  'apiSecret: f159a84ee9d816a51619c261654d1989523b51ab645cd94865a39f84bf9c98e6',

# Le JSON retourné sera, en cas de succès, de la forme suivante :
HTTP 200 OK
{
  status: 'success',
  apiToken: '1c552e139b9c8a552e316e54b5c98a5d',
  expires: '2017-05-01 15:30:23'
}

# En cas d'échec :
HTTP 401 Unauthorized
{
  status: 'failure',
  errors: [
     'Incorrect credentials'
  ]
}

?

Cette requête vous transmet un jeton temporaire apiToken qui vous permettra d'utiliser l'API.

Une fois connecté, vous pouvez effectuer les opérations ci-dessous.
Créer une demande de paiement

# Envoyez votre requête POST à cette url :
POST https://www.simplypaie.fr/api/payments/new HTTP/1.1

# Avec votre apiClientId et apiToken en headers :
  'apiClientId: 123456',
  'apiToken: 1c552e139b9c8a552e316e54b5c98a5d',

# En choisissant vos options pour la demande de paiement à créer
{
  email: 'test@simplypaie.fr',
  name: 'Dupont Jean',
  mode: 'email',
  type: 'standard',
  page: 'standard', # Utilisez 'short' pour une page de paiement simplifiée
  amount: '10000', # En centimes
  currency: 'EUR',
  returnURL: 'https://www.simplypaie.fr', # URL à laquelle retourner une fois le paiement effectué
}

# Le json retourné sera de la forme suivante
# En cas de succès :
HTTP 201 Created
{
  status: 'success',
  info: {
    paymentId: '165985',
    link: 'https://www.simplypaie.fr/pay-48512-1aa19814b3354e218f4f11f'
  }
}
# En cas d'échec :
HTTP 400 Bad Request
{
  status: 'failure',
  errors: [
    'Invalid or unavailable currency',
    'Invalid amount'
  ]
}

?
Référence des paramètres de la requête :

Choix du mode de paiement
"email" : envoie le mail automatique de demande de paiement
"link" : crée la demande sans envoyer de mail

Choix du type de paiement
"standard" : demande de paiement normal
"preauth" : caution sur CB (encaissable sous 6 jours et 12 heures)

Choix du montant
Indiquez votre montant en centimes.

Choix de la monnaie
"EUR" ou "USD" ou "GBP".
Récupérer une liste de demandes de paiements

# Envoyez votre requête GET à cette url, avec les paramètres suivants (tous optionnels) :
GET https://www.simplypaie.fr/api/payments/list HTTP/1.1
  ?paymentId=684951&
  name=Dupont&
  email=jean.dupont@simplypaie.fr&
  mode=email&
  type=standard&
  page=standard&
  minAmount=0&
  maxAmount=10000&
  currency=EUR&
  status=cashed&
  way=debit&
  minDate=2017-01-01&
  maxDate=2017-01-30

# Avec votre apiClientId et apiToken en headers:
  'apiClientId: 123456',
  'apiToken: 1c552e139b9c8a552e316e54b5c98a5d',

# Le json retourné sera de la forme suivante
# En cas de succès
HTTP 200 OK
{
  status: 'success',
  payments: [
     {
      paymentId: '85916',
      date: '2017-05-19 07:20:19',
      type: 'standard',
      fees: '58',
      mode: 'link',
      page: 'standard',
      amount: '500',
      currency: 'EUR',
      way: 'debit',
      name: 'Jean Dupont',
      email: 'jean.dupont@simplypaie.fr',
      link: 'https://www.simplypaie.fr/pay-5173-fb67df7939a9fa',
      returnURL: 'https://www.simplypaie.fr',
    }
  ]
}
# En cas d'échec
HTTP 400 Bad Request
{
  status: 'failure',
  errors: [
    'Invalid or unavailable currency',
    'Incorrect amount'
  ]
}

?
Référence des paramètres de la requête :

Choix du statut du paiement
"waiting" : paiements en attente uniquement
"reminded" : paiements relancés
"cashed" : paiements encaissés
"preauthorized" : paiements préautorisés (caution encaissable)

Choix du mode du paiement
"web" : paiement créé via un bouton de paiement
"email" : paiement créé avec envoi de mail
"sms" : paiement créé avec envoi de sms
"link" : paiement créé mais sans envoi
"simply" : paiement spécial simplypaie

Choix du type de paiement
"standard" : demande de paiement normal
"preauth" : caution sur CB (encaissable sous 6 jours et 12 heures)

Choix du type de page de paiement
"standard" : classique
"short" : page courte, utile pour un design épuré

Choix du sens du paiement
"debit" : paiement en votre faveur
"credit" : paiement en faveur du destinataire
Effectuer une relance de paiement

# Envoyez votre requête POST à cette url, où paymentId est l'identifiant du paiement à relancer
POST https://www.simplypaie.fr/api/payments/paymentId/remind HTTP/1.1

# Avec votre apiClientId et apiToken en headers
  'apiClientId: 123456',
  'apiToken: 1c552e139b9c8a552e316e54b5c98a5d',

# Le json retourné sera de la forme suivante
# En cas de succès
HTTP 200 OK
{
  status: 'success'
}
# En cas d'échec
HTTP 404 Not Found
{
  status: 'failure',
  errors: [
    'Unremindable payment'
  ]
}

?
Référence des paramètres de la requête :

Choix du paiement grâce à son identifiant paymentId
Annuler une demande de paiement

# Envoyez votre requête POST à cette url, où paymentId est l'identifiant de la demande de paiement à annuler
POST https://www.simplypaie.fr/api/payments/paymentId/cancel HTTP/1.1

# Avec votre apiClientId et apiToken en headers
  'apiClientId: 123456',
  'apiToken: 1c552e139b9c8a552e316e54b5c98a5d',

# Le json retourné sera de la forme suivante
# En cas de succès
HTTP 200 OK
{
  status: 'success'
}
# En cas d'échec
HTTP 404 Not Found
{
  status: 'failure',
  errors: [
    'Payment missing'
  ]
}

?
Référence des paramètres de la requête :

Choix du paiement grâce à son identifiant paymentId

Si la demande de paiement a été créée en mode email, un e-mail d'annulation sera envoyé.
Encaisser une caution

# Envoyez votre requête POST à cette url, où paymentId est l'identifiant de la caution à encaisser
POST https://www.simplypaie.fr/api/payments/paymentId/cash HTTP/1.1

# Avec votre apiClientId et apiToken en headers
  'apiClientId: 123456',
  'apiToken: 1c552e139b9c8a552e316e54b5c98a5d',

# En choisissant le montant à encaisser
{
  amount: '10000', # En centimes
}

# Le json retourné sera de la forme suivante
# En cas de succès
HTTP 200 OK
{
  status: 'success'
}
# En cas d'échec
HTTP 404 Not Found
{
  status: 'failure',
  errors: [
    'Amount too high'
  ]
}

?
Référence des paramètres de la requête :

Choix de la préautorisation de paiement grâce à son identifiant paymentId

Choix du montant
Indiquez votre montant en centimes. Il doit être inférieur au montant de la préautorisation initiale.
Rembourser un paiement

# Envoyez votre requête POST à cette url, où paymentId est l'identifiant du paiement à rembourser
POST https://www.simplypaie.fr/api/payments/paymentId/refund HTTP/1.1

# Avec votre apiClientId et apiToken en headers
  'apiClientId: 123456',
  'apiToken: 1c552e139b9c8a552e316e54b5c98a5d',

# Le json retourné sera de la forme suivante
# En cas de succès
HTTP 200 OK
{
  status: 'success'
}
# En cas d'échec
HTTP 404 Not Found
{
  status: 'failure',
  errors: [
    'Payment unrefundable or missing'
  ]
}

?
Référence des paramètres de la requête :

Choix du paiement grâce à son identifiant paymentId
Créer une facture

# Envoyez votre requête POST à cette url
POST https://www.simplypaie.fr/api/invoices/new HTTP/1.1

# Avec votre apiClientId et apiToken en headers
  'apiClientId: 123456',
  'apiToken: 1c552e139b9c8a552e316e54b5c98a5d',

# Choisissez les paramètres de la facture à créer
{
  name: 'Société SARL',
  address: '1, rue de l\'exemple',
  type: 'normal',
  date: '2017-12-01', # Au format AAAA-MM-JJ
  currency: 'EUR', # ISO 4217 ('EUR', 'USD', 'GBP')
  deposit: '20.50', # Montant de l'acompte à verser
  items: [
    {
      designation: 'Produit 1',
      price: '26.30',
      quantity: '3',
      vat: '20', # Taux TVA en pourcents
    },
  ],
}

# Le json retourné sera de la forme suivante
# En cas de succès
HTTP 200 OK
{
  status: 'success',
  info: {
    idfact: '16548',
    url: 'https://www.simplypaie.fr/factures/1aa19814b3354e218f4f11f/FactureVente.pdf',
  }
}
# En cas d'échec
HTTP 400 Bad Request
{
  status: 'failure',
  errors: [
    'Invalid designation'
  ]
}

?
Référence des paramètres de la requête :

Choix du type de facture
"normal" : crée une facture
"quote" : crée un devis
"order" : crée un reçu