Multiple Payments - Complete Payment Fails

I’m unable to complete any payments in sandbox when there are multiple payments, and I’m seeing this with/without a tip added. Below is an example (response from order after payments created):

The order total is 14.47, with a GC partial payment of 10, and an additional CC payment of 4.47. The payments are set to allow partial, and autoComplete is false. When trying to complete (capture) the payments, I receive an error: “The payment total does not match the order total”. The math of the combined payments checks out, so obviously square is expecting different values somewhere.

{
  "order": {
    "id": "zByZvP6yKDojxlIXffrhWIFFne4F",
    "location_id": "LFSK5ZZVRBA1E",
    "line_items": [
      {
        "uid": "1633717151546x941437580332934000",
        "catalog_object_id": "UWRKUHGRDIRPYMERVIXH7WUC",
        "catalog_version": 1628194050097,
        "quantity": "1",
        "name": "Chicken Sandwich",
        "variation_name": "Regular",
        "base_price_money": {
          "amount": 1295,
          "currency": "USD"
        },
        "note": "",
        "gross_sales_money": {
          "amount": 1295,
          "currency": "USD"
        },
        "total_tax_money": {
          "amount": 152,
          "currency": "USD"
        },
        "total_discount_money": {
          "amount": 0,
          "currency": "USD"
        },
        "total_money": {
          "amount": 1447,
          "currency": "USD"
        },
        "variation_total_price_money": {
          "amount": 1295,
          "currency": "USD"
        },
        "applied_taxes": [
          {
            "uid": "p5XpZ4QKBj4h2Okpswk3JD",
            "tax_uid": "DFF55NTRY7XAK4V4UPWQ32K2",
            "applied_money": {
              "amount": 152,
              "currency": "USD"
            }
          }
        ],
        "item_type": "ITEM"
      }
    ],
    "taxes": [
      {
        "uid": "DFF55NTRY7XAK4V4UPWQ32K2",
        "catalog_object_id": "DFF55NTRY7XAK4V4UPWQ32K2",
        "catalog_version": 1628194050097,
        "name": "xxxxxxxxxxxxxxxxx",
        "percentage": "11.75",
        "type": "ADDITIVE",
        "applied_money": {
          "amount": 152,
          "currency": "USD"
        },
        "scope": "ORDER"
      }
    ],
    "fulfillments": [
      {
        "uid": "1633717143550x654210879457853400",
        "type": "PICKUP",
        "state": "PROPOSED",
        "pickup_details": {
          "pickup_at": "2021-10-08T18:39:15.421Z",
          "schedule_type": "ASAP",
          "recipient": {
            "display_name": "ONLINE ORDER TEST Pickup",
            "email_address": "xxxxxxxxxxxxxxxxx",
            "phone_number": "xxxxxxxxxxxxxxxxx"
          },
          "is_curbside_pickup": false
        }
      }
    ],
    "created_at": "2021-10-08T18:19:57.480Z",
    "updated_at": "2021-10-08T18:19:58.573Z",
    "state": "OPEN",
    "version": 3,
    "reference_id": "1633717143550x654210879457853400",
    "total_tax_money": {
      "amount": 152,
      "currency": "USD"
    },
    "total_discount_money": {
      "amount": 0,
      "currency": "USD"
    },
    "total_tip_money": {
      "amount": 0,
      "currency": "USD"
    },
    "total_money": {
      "amount": 1447,
      "currency": "USD"
    },
    "tenders": [
      {
        "id": "rlg0sk5Z0u5R1VlyOV1AvfwFV9AZY",
        "location_id": "LFSK5ZZVRBA1E",
        "transaction_id": "zByZvP6yKDojxlIXffrhWIFFne4F",
        "created_at": "2021-10-08T18:19:57.852Z",
        "note": "xxxxxxxxxxxxxxxxx",
        "amount_money": {
          "amount": 1000,
          "currency": "USD"
        },
        "type": "SQUARE_GIFT_CARD",
        "card_details": {
          "status": "AUTHORIZED",
          "card": {
            "card_brand": "SQUARE_GIFT_CARD",
            "last_4": "0000",
            "exp_month": 12,
            "exp_year": 2050,
            "fingerprint": "sq-1-hwzWUp5B_dZkT2F22hDxEvE0oZdtebS9nSgOM8XYNamOPARAKJ2EEmdWLikGK3-Mcw",
            "card_type": "DEBIT",
            "prepaid_type": "PREPAID",
            "bin": "778332"
          },
          "entry_method": "KEYED"
        },
        "tip_money": {
          "amount": 0,
          "currency": "USD"
        },
        "payment_id": "rlg0sk5Z0u5R1VlyOV1AvfwFV9AZY"
      },
      {
        "id": "jxYYAFWL9iYwP8Pyz8EHKruvgPDZY",
        "location_id": "LFSK5ZZVRBA1E",
        "transaction_id": "zByZvP6yKDojxlIXffrhWIFFne4F",
        "created_at": "2021-10-08T18:19:58.445Z",
        "note": "xxxxxxxxxxxxxxxxx",
        "amount_money": {
          "amount": 447,
          "currency": "USD"
        },
        "type": "CARD",
        "card_details": {
          "status": "AUTHORIZED",
          "card": {
            "card_brand": "VISA",
            "last_4": "1111",
            "exp_month": 12,
            "exp_year": 2021,
            "fingerprint": "sq-1-CSW_IvWhKuG4JuhkGift59n0Ik-voSBKkM0Xu6darI97XcPB39UtNTBxwIFSf9LHIA",
            "card_type": "CREDIT",
            "prepaid_type": "NOT_PREPAID",
            "bin": "411111"
          },
          "entry_method": "KEYED"
        },
        "tip_money": {
          "amount": 0,
          "currency": "USD"
        },
        "payment_id": "jxYYAFWL9iYwP8Pyz8EHKruvgPDZY"
      }
    ],
    "total_service_charge_money": {
      "amount": 0,
      "currency": "USD"
    },
    "net_amounts": {
      "total_money": {
        "amount": 1447,
        "currency": "USD"
      },
      "tax_money": {
        "amount": 152,
        "currency": "USD"
      },
      "discount_money": {
        "amount": 0,
        "currency": "USD"
      },
      "tip_money": {
        "amount": 0,
        "currency": "USD"
      },
      "service_charge_money": {
        "amount": 0,
        "currency": "USD"
      }
    },
    "source": {
      "name": "Online Pickup"
    },
    "customer_id": "null"
  }
}

With multiple payment associate to an order you will need to use PayOrder to complete the payments. :slightly_smiling_face:

Thanks @Bryan-Square. And it looks like that works for 1 or multiple payments.