I am trying to capture funds for an order that had $41.00 paid on a credit card and $30.00 paid on a gift card. As far as I know the capture funds transaction should be trying to capture for only the authorized amount when the "amount" is not specified in the Capture Funds Transaction, but for some reason I am getting an error saying "Cannot capture more than the authorized 41.00 for this payment.". It is almost as if, regardless of payment type, shopify is trying to capture for the full amount of the order. I tried passing in the "authorization" for the specific credit card authorization and I still got the same error.
Is there a way to tell Shopify to only capture the credit card amount without having to pass in the specific amount to capture?
Am I wrong in thinking that not specifying the amount should only capture the "authorized" amount and not the full order total?
This is Max from the Shopify Team.
I think I might understand what you are after, but, please reply here with some more clarifying details if this does not solve the issue for you!
Are you trying to capture a payment manually after the details have been entered by the customer for their order online? If so, you can capture up to the amount that the customer has authorized their card to process upon checking out. If the $41.00 was authorized, this amount is pending manual capture, and the full value of the order ($71.00) cannot be authorized.
Please specify the amount of money you wish to capture from your customer's order to avoid any error messages. Also, keep in mind that the time alotted to capture funds from a card is limited. If you're unsure how long that is, please check in with your payment provider directly. Please let us know if you are unable to complete this process for any reason, and we'd be happy to help!
Thank you for the response, but I am trying to use the API to trigger the capture. When doing it manually there are no issues capturing the credit card amount.
Is seems when triggering the transaction request in the API it is not using the authorized amount, but is using the order total instead.
Max, the problem Brad is having is identical to the problem I'm having, and his first post explains it well. If an order uses gift cards for partial payment, then Shopify will only get an authorization for the unpaid balance, which is correct. But, when issuing a 'capture' request via the API, the base capture request will attempt to capture the entire order amount, ignoring the fact that the order was partially paid using gift cards. It shouldn't do this - the API should only attempt to capture the authorized, unpaid amount on the order rather than trying to capture the entire order amount.