Comercio electrónico de Square

Acepta pagos en línea con las API de Square en tan solo tres pasos

Paso 1

Crea una nueva aplicación con la API de Square

Las llamadas a la API de Square se verifican mediante los códigos de identificación de aplicación y los tókenes de autorización (ya sean de OAuth o de acceso personal).

Para crear una nueva aplicación, inicia sesión en el Panel de control de aplicaciones con tu cuenta de Square.

A continuación, haz clic en + Nueva aplicación y ponle un nombre.

Anota el identificador de la aplicación, el identificador del punto de venta y el token de acceso personal asignados a la aplicación.


Paso 2

Añade el SDK de pagos web de Square a tu flujo de pago

Square ofrece un formulario de pago de muestra en la página de documentación de Square para desarrolladores. En él, se usa el SDK para pagos web para solicitar un token de tarjeta válido desde los servidores de Square e incluirlo en los datos del formulario antes de enviarlo a tu página de procesamiento de pagos. Para usar el formulario de ejemplo, pon los identificadores generados en el paso anterior en appId y locId:

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

El formulario de muestra solo incluye los campos necesarios para crear un nonce de tarjeta válido (número de tarjeta, código CVV, fecha de vencimiento). Si quieres recopilar otra información de pago, como el importe o la moneda, tendrás que añadir otros elementos al formulario y aplicar los estilos pertinentes para que el aspecto del formulario coincida con el de tu página. Por ejemplo:


Paso 3

Usa la API de Square para hacer el cargo en la tarjeta

Por último, debes añadir el código a tu página de procesamiento de pagos donde se inicializa el cliente de la API de 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,
]);

Empaqueta la información de pago como CreatePaymentRequest (incluido el tóken de la tarjeta obtenido a través del formulario de pago en el paso anterior):

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

Y llama al punto final createPayment de la API Payments en /v2/payments para procesar la tarjeta:

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

El punto final createPayment hace el cargo en la tarjeta asociada al tóken y devuelve una respuesta indicando si el cargo se ha hecho correctamente o se ha rechazado. Puedes consultar los pagos que se han hecho correctamente en el Panel de control de ventas de tu cuenta de Square.

Abre una cuenta de desarrollador