Commerce électronique Square

Accepter des paiements en ligne en 3 étapes avec les interfaces API Square

Étape 1

Créez une nouvelle application API Square.

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

Pour créer une nouvelle application, vous devez premièrement vous connecter à l’application Tableau de bord par le biais de votre compte Square.

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

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


Étape 2

Ajoutez la trousse Square SDK 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 qui utilise la trousse SDK pour les paiements en ligne pour demander un jeton de carte valide aux serveurs de Square et l’inclure dans les données du formulaire avant de l’envoyer à votre page de traitement du paiement. Pour utiliser le formulaire d’exemple, définissez l’identifiant de l’application et l’identifiant du point de vente 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::USD); $paymentRequest = new CreatePaymentRequest( $sourceId, $idempotencyKey, $amountMoney ); 

Et invoque le point de terminaison createPayment de l’interface Paiements API 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.