Квадратные заказы, создаваемые через API на сайте, не отображаются на панели инструментов. - PullRequest
0 голосов
/ 02 марта 2020

В настоящее время я использую square / connect- php -sdk createOrder для создания квадратного заказа.

$api_config = new SquareConnect\Configuration();
$api_config->setAccessToken($access_token);
$api_config->setHost($host);
$api_client = new SquareConnect\ApiClient($api_config);
$apiInstance = new SquareConnect\Api\OrdersApi($api_client);
$orderRequest = new SquareConnect\Model\CreateOrderRequest();
$orderRequest->setIdempotencyKey(uniqid());
$order = new SquareConnect\Model\Order();
$money = new SquareConnect\Model\Money();
$money->setAmount(intval(500))
    ->setCurrency("USD");
$line_item = new SquareConnect\Model\OrderLineItem();
$line_item->setCatalogObjectId(<square item id>)
    ->setQuantity("1")
    ->setBasePriceMoney($money);
$line_items[] = $line_item;
$order->setLineItems($line_items);
$orderRequest->setOrder($order);
$result = $apiInstance->createOrder($location_id, $orderRequest);

Возвращает идентификатор заказа (вместе с другими данными заказа), который я храню локально. Затем я обрабатываю кредитную карту, используя Квадратную форму оплаты: https://developer.squareup.com/docs/payment-form/payment-form-walkthrough

Это дает мне одноразовый номер, который я затем отправляю с идентификатором заказа и ценой.

$apiInstance = new SquareConnect\Api\PaymentsApi($api_client);
$paymentRequest = new SquareConnect\Model\CreatePaymentRequest();
$paymentRequest->setIdempotencyKey(uniqid());
$paymentRequest->setLocationId($location_id);
$money = new SquareConnect\Model\Money();
$money->setAmount(intval($total_cost))
    ->setCurrency("USD");
$paymentRequest->setAmountMoney($money);
$paymentRequest->setOrderId($sq_order_id);
$paymentRequest->setSourceId($nonce);
$result = $apiInstance->createPayment($paymentRequest);

Это дает мне идентификатор платежа (вместе с другими данными платежа). На Square Dashboard я вижу транзакцию в разделе «Транзакции», но в разделе «Заказы» на панели инструментов нет данных.

У меня вопрос: как мне отобразить ее в разделе «Заказы»?

1 Ответ

2 голосов
/ 02 марта 2020

Для того, чтобы ордер отображался на вашей информационной панели, вам нужно сделать две вещи: 1. Оплатить заказ (похоже, что вы сделали эту часть) 2. Включить параметр fulfillments в запрос CreateOrder : https://developer.squareup.com/docs/orders-api/order-ahead-usecase#add -произведение-заказ на получение заказа

...