E-commerce Square

Acceptez des paiements en ligne avec les API Square en 3 étapes.

Étape 1

Créez une nouvelle application API Square.

Les requêtes à l’API Square sont authentifiées à l’aide d’identifiants d’application et de jetons d’autorisation (un jeton d’accès personnel ou un jeton OAuth).

Pour créer une application, connectez-vous au Tableau de bord de l’application à l’aide de votre compte Square.

Cliquez ensuite sur + Nouvelle application et donnez un nom à l’application.

Prenez note de l’identifiant de l’application, de l’identifiant du point de vente et du jeton d’accès personnel attribués à l’application.


Étape 2

Ajoutez le kit de développement logiciel (SDK) Square pour les paiements en ligne à votre processus de passage en caisse.

Square fournit un exemple de formulaire de paiement sur le site de documentation Développeur Square. Celui-ci utilise le kit de développement logiciel (SDK) pour les paiements en ligne afin de demander un jeton de carte valide aux serveurs de Square et l’inclure aux données du formulaire avant de l’envoyer à votre page de traitement de paiement. Pour utiliser le formulaire d’exemple, définissez appId et locId avec les identifiants que vous avez générés à l’étape précédente :

const appId = '{{ SET THE APPLICATION ID HERE}}';
const locId = '{{ SET THE LOCATION ID HERE}}';

L’exemple de formulaire présente un formatage minimal et ne comprend que les champs nécessaires pour créer un nonce de carte valide (numéro de carte, CVV, date d’expiration et code postal). Vous devrez étendre l’exemple de formulaire pour recueillir d’autres informations utiles sur le paiement (par exemple, le montant facturé et la devise utilisée) et appliquer des styles pour que le formulaire corresponde à votre site. Par exemple :


Étape 3

Utilisez l’API Square pour débiter la carte.

L’étape finale consiste à ajouter à votre page de traitement des paiements un code qui initialise un client API Square :

use Square\Models\Currency;
use Square\SquareClient;
use Square\Environment;

// Replace 'XXXXXXXXXX' with an OAuth or your Personal Access Token
const SQUARE_ACCESS_TOKEN = 'XXXXXXXXXX';

$client = new SquareClient([
    'accessToken' => SQUARE_ACCESS_TOKEN,
    'environment' => Environment::SANDBOX,
]);

Regroupez les informations de paiement sous forme de code CreatePaymentRequest (y compris le jeton de carte récupéré par le formulaire de paiement à l’étape précédente) :

// Package the charge amount and currency as a Money object
$sourceId = $_POST[token];
$idempotencyKey = uniqid();
$amountMoney = new Money;
$amountMoney->setAmount($_POST['amount']);
$amountMoney->setCurrency(Currency::EUR);

$paymentRequest = new CreatePaymentRequest(
    $sourceId,
    $idempotencyKey,
    $amountMoney
);

Et appelez le point de terminaison createPayment de l’API Paiements dans /v2/payments pour traiter la carte :

// Create a PaymentsApi client to charge the card using our form info
$paymentsApi = $client->getPaymentsApi();

// Call the PaymentsApi to create a payment using that card
try {
  $result = $paymentsApi->createPayment($paymentRequest);
} catch (Exception $e) {
  // Handle the exception
}

Le point de terminaison createPayment débite la carte associée au jeton et fournit une réponse indiquant si la carte a été débitée ou refusée. Vous pouvez ensuite consulter les paiements finalisés dans le Tableau de bord des ventes de votre compte Square.

Ouvrez votre compte de développeur maintenant.