I can apply a payment to an order using the v3 API:
POST /v3/merchants/{mId}/orders/{orderId}/payments
I've filtered down the required POST parameters to the following:
{ "modifiedTime": "1504613000000", "createdTime": "1504613000000", "tender": { "instructions": "", "visible": false, "editable": false, "id": "{tender_id}", "label": "{tender_label}", "labelKey": "{package}", "opensCashDrawer": false, "supportsTipping": false, "enabled": false }, "amount": "200", "clientCreatedTime": "1504613000000" }
The order was created on the 5th Sept, it is currently the 7th. I'm trying to apply this payment so that the payment also appears as the 5th Sept so that the Payment reports from the 5th of september are correct.