通过网站上的 API 创建的方形订单不会显示在仪表板上

我目前正在使用 square/connect-php-sdk createOrder 创建 Square Order。


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

这将返回我在本地存储的订单 ID(以及其他订单数据)。然后我使用 Square Payment Form 处理信用卡:https ://developer.squareup.com/docs/payment-form/payment-form-walkthrough


这给了我一个随机数,然后我将其与订单 ID 和价格一起发送。


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

这给了我一个付款 ID(连同其他付款数据)。在 Square Dashboard 上,我可以在 Transactions 部分看到交易,但 Dashboard 的 Orders 部分是空的。


我的问题是如何让它显示在订单部分?


芜湖不芜
浏览 80回答 1
1回答

素胚勾勒不出你

为了让订单显示在您的仪表板中,您需要做两件事:1. 为订单付款(听起来像是您做了这部分) 2.在请求中包含一个fulfillments参数:&nbsp;https://developer.squareup。 com/docs/orders-api/order-ahead-usecase#add-fulfillment-information-to-make-a-pickup-orderCreateOrder
打开App,查看更多内容
随时随地看视频慕课网APP