Commerce électronique Square

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

Step 1

Create a new Square API application.

Calls to Square’s API are authenticated using application IDs and authorization tokens (either a personal access token or an OAuth token).

To create a new application, first log in to the Application Dashboard using your Square account.

Then click + New Application and give the application a name.

Note the Application ID, Location ID and Personal Access Token assigned to the 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 :


Step 3

Use Square’s API to charge the card.

The final step is to add code to your payment processing page that initializes a Square API client:

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,
]);

Package the payment information as a CreatePaymentRequest (including the card token retrieved by the payment form in the previous step):

// 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::CAD);

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

And call the Payments API’s createPayment endpoint in /v2/payments to process the card:

// 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
}

The createPayment endpoint charges the card associated with the token and provides a response indicating if the card was successfully captured or declined. Successful payments can then be reviewed in the Sales Dashboard for your Square account.

Open your developer account now.