payzen.eu
Rechercher
Catégories
Tags
France
France
Allemagne
Brésil
LATAM
Espagne
Europe (English)
Implémentation
Formulaire embarqué (client JavaScript)
APIs REST de paiement
Paiement par formulaire en redirection (avec ou sans iFrame)
Web Services
Échange de fichier
Formulaire de collecte de données
Paiement Mobile
Faciliter l'intégration
Modules de paiement gratuits
Exemples de code
Back office
Guides
Aide
FAQ
Tutoriels vidéos
Contacter le support

Créer un formToken

La première étape pour afficher un formulaire de paiement est de créer un formToken.

Préparer son environnement

Si vous utilisez PHP avec notre SDK, nous vous recommandons de regrouper vos clefs dans un fichier de configuration.

Exemple avec les clés de tests :

<?php
/**
 * Get the client
 */
require_once __DIR__ . '/vendor/autoload.php';

/**
 * Define configuration
 */

/* Username, password and endpoint used for server to server web-service calls */
Lyra\Client::setDefaultUsername("69876357");
Lyra\Client::setDefaultPassword("testpassword_DEMOPRIVATEKEY23G4475zXZQ2UA5x7M");
Lyra\Client::setDefaultEndpoint("https://api.payzen.eu");

/* publicKey and used by the javascript client */
Lyra\Client::setDefaultPublicKey("69876357:testpublickey_DEMOPUBLICKEY95me92597fd28tGD4r5");

/* SHA256 key */
Lyra\Client::setDefaultSHA256Key("38453613e7f44dc58732bad3dca2bca3");

Pensez à les remplacer avec vos clés personnelles.

Pour plus d'informations, consultez les articles suivants : utilisez nos SDKs et obtenir mes clés .

Créer le formToken

Lorsqu'un acheteur finalise son achat sur votre site, vous devez valider sa transaction sur votre serveur marchand, en vérifiant notamment le montant, la devise, le contenu du panier, etc...

Une fois ces vérifications effectuées, votre serveur marchand doit appeler le Web Service Charge/CreatePayment afin d'initialiser la transaction.

En réponse, votre serveur marchand récupère un formToken , un objet encrypté permettant d'initialiser le formulaire embarqué avec les informations de la transaction et celles correspondant à votre configuration de boutique.

{
    "amount":   990,
    "currency": "EUR",
    "orderId":  "myOrderId-999999",
    "customer": {
        "email": "sample@example.com"
    }
}

{
    "amount":   1500,
    "currency": "PEN",
    "orderId":  "myOrderId-999999",
    "more": "parameters",
    "customer": {
        "email": "sample@example.com"
    }
}

{
    "amount":   20000,
    "currency": "ARS",
    "orderId":  "myOrderId-999999",
    "more": "parameters",
    "customer": {
        "email": "sample@example.com"
    }
}

{
    "amount":   100000,
    "currency": "COP",
    "orderId":  "myOrderId-999999",
    "more": "parameters",
    "customer": {
        "email": "sample@example.com"
    }
}

{
    "amount":   2500,
    "currency": "BRL",
    "orderId":  "myOrderId-999999",
    "more": "parameters",
    "customer": {
        "email": "sample@example.com"
    }
}

/**
 * I initialize the PHP SDK
 */
require_once __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/keys.php';
require_once __DIR__ . '/helpers.php';

/** 
 * Initialize the SDK 
 * see keys.php
 */
$client = new Lyra\Client();

/**
 * I create a formToken
 */
$store = array("amount" => 250, 
"currency" => "EUR", 
"orderId" => uniqid("MyOrderId"),
"customer" => array(
  "email" => "sample@example.com"
));
$response = $client->post("V4/Charge/CreatePayment", $store);

/* I check if there are some errors */
if ($response['status'] != 'SUCCESS') {
    /* an error occurs, I throw an exception */
    display_error($response);
    $error = $response['answer'];
    throw new Exception("error " . $error['errorCode'] . ": " . $error['errorMessage']);
}

/* everything is fine, I extract the formToken */
$formToken = $response["answer"]["formToken"];

?>

/**
 * I initialize the PHP SDK
 */
require_once __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/keys.php';
require_once __DIR__ . '/helpers.php';

/** 
 * Initialize the SDK 
 * see keys.php
 */
$client = new Lyra\Client();

/**
 * I create a formToken
 */
$store = array("amount" => 250, 
"currency" => "EUR", 
"orderId" => uniqid("MyOrderId"),
"customer" => array(
  "email" => "sample@example.com"
));
$response = $client->post("V4/Charge/CreatePayment", $store);

/* I check if there are some errors */
if ($response['status'] != 'SUCCESS') {
    /* an error occurs, I throw an exception */
    display_error($response);
    $error = $response['answer'];
    throw new Exception("error " . $error['errorCode'] . ": " . $error['errorMessage']);
}

/* everything is fine, I extract the formToken */
$formToken = $response["answer"]["formToken"];

?>

Plus de détails sur l'authentification des appels au web service REST sont disponibles ici: Phase d'authentification .

La réponse sera :

{
    "status": "SUCCESS",
    "_type": "V4/WebService/Response",
    "webService": "Charge/CreatePayment",
    "applicationProvider": "PAYZEN",
    "version": "V4",
    "applicationVersion": "4.1.0",
    "answer": {
        "formToken": "DEMO-TOKEN-TO-BE-REPLACED",
        "_type": "V4/Charge/PaymentForm"
    }
}

Le formToken généré est Processing...

Une fois créé, vous pouvez Créer votre formulaire .

Head Office :

LYRA NETWORK
109, rue de l’innovation
31670 Labège
FRANCE

Nos services

Lyra
Recruitment
PayZen