You can import Transactions for existing Payments. You can Capture transactions for the payments which are already Authorized. In case of Case on Delivery payment method, there is no possibility to capture the payment via API, as transaction cannot have status = Authorized. You can capture Cash on Delivery payments from the Shopify Admin, by filtering needed orders and choosing Action = Capture order payments.
Also, you can Void and Refund the transactions which were captured earlier.
Here is the step by step walkthrough how you can import the Order with Authorization payment, and then capture the payments for an existing Order.
1: Create Order with Authorized Transaction
Create the new Excel file.
Give the name “Orders” to the tab (sheet) name so that the Matrixify app knows that there are Orders in this sheet.
Then fill the columns:
- Name
- Command
- Payment: Status
- Line: Type
- Line: Title
- Line: Quantity
- Line: Price
- Transaction: Kind
- Transaction: Processed At
- Transaction: Amount
- Transaction: Currency
- Transaction: Status
As shown in the picture:
This will produce the new Order with one line item and with the authorized payment of 500 USD.
Note that this authorized transaction is not actually connected to any real credit-card, because we just simulated it with our import.
All the further imports of the transaction capturing and voiding – will work for real, with real transactions, and real refunds.
2: Capture the payment for existing Order
Let’s assume that you already have Orders for which you need to capture those payments, so we will export this newly created Order.
Export your existing Orders for which you need to capture the payments
Note that you just need to check the checkboxes for Orders + Transactions.
And you can apply the filter by pressing the filter icon on the right.
Prepare the import file for capturing payments
Remove all the columns and rows out of the way, and just keep the following:
- ID – keep the existing ID, this will allow the app to identify your existing Order. if you don’t have the ID value for some reason, you can leave it empty – then the Matrixify will identify the Order by the Name.
- Name – keep this so that you know which Order you are updating.
- Command – change to “UPDATE” so that you update the existing Order.
- Line: Type – set it to “Transaction” because you want to add a new transaction.
- Transaction: Kind – set it to “capture” because you want to capture the payment.
- Transaction: Processed At – set it to the date when you want this capture to existing, and show in reports.
- Transaction: Amount – enter the amount which you need to capture.
- Transaction: Currency – the currency for the capture transaction.
- Transaction: Status – set it to “success”.
- Transaction: Force Gateway – set it to “TRUE”
Here’s how your import file will look like:
After importing this file, here’s how your Order will look like:
Note that the Order total was $13.50, but we captured $20. Whoops! Too much!
Now we need to refund that and capture the right amount.
3: Refund and capture the right amount
After importing this file, your Order will look like this:
Important!
- You can void only whole transactions – with the full amount of that transaction. Actually, this is how the Matrixify will identify which transaction you want to void – by looking at all the not-yet-voided transactions and matching them by the amount.
- You can use the same approach to just refund the payment transactions fully.
- Check out Matrixify tutorial on how to bulk refund Shopify Orders.
Troubleshooting
- If you see that your file upload has failed, please, read the instructions on the screen, and make sure your sheet name is called “Orders”.
- If that particular Order import has failed, then download the Import Results file and look in the Import Comment column – it will tell the reason why it failed.
- If your transaction didn’t get created, make sure you have the column “Line: Type” with the value “Transaction”.