I have made a $1 test charge using tap to pay on iPhone in our app (currently using the development entitlement for the proximity reader), the card I used was a Interac debit card. I wanted to refund this, and I know it requires the card to be present to refund, but I see there is no Tap to Pay refund support via the Mobile Payments SDK, but even when I use the Square POS app and a physical reader it fails. I get an error stating MIX_OF_ITEMIZED_AND_CUSTOM_AMOUNT
I subsequently connected a Terminal to the Square POS app and succeeded in refunding the payment.
Aside from these issues, can a Terminal be used to refund an Interac payment taken with Tap to Pay or a card reader via the api? Or only through the Square POS app?
Can a card reader be used to refund a card present payment (Interac) that was taken with Tap to Pay via the mobile payments sdk?
Is there a timeline of when we might be able to expect card present Tap to pay refunds via the mobile payments sdk?
Mobile Payment SDK currently does not offer a supported card-present Interac refund flow, and we don’t have a timeline to share for when we can make this available.
You can refund Interac payments on a Square Terminal through the Terminal API, and it doesn’t matter how the original payment was taken.
I did some testing and was able to refund a card present payment taken via Tap to Pay on Apple on our app using the Square POS app with the Reader if the payment was $2 CAD. $1 CAD fails to refund with the errors previously stated.
Could you share both payment IDs / order IDs and the approximate timestamp? I can compare the payments, their linked orders, and refund histories to investigate why the CAD $1 attempt failed.
Hi, I’ll get you those payment ID’s shortly. but I just want to confirm what I found in the table below. I have tested these, and while I can refund an Interac payment through the Square POS app using a Terminal or Reader, refunding it using Tap to Pay on the Square POS app fails even though it starts and accepts a tap. I just want to confirm if refunding an Interact payment can be done via the Square POS app using Tap to Pay, instead of customers needing to use a Reader or Terminal device with the app. Since the Tap to Pay refund flow starts and accepts a tap and seems to process for a while before failing, I wonder if it’s just a bug in the POS app or if it’s simply not supported. I want to clarify this for our customers.
You’re right that your Mobile Payments SDK app cannot currently perform a card-present Interac refund. Terminal API with a Square Terminal is the supported path regardless of how the original payment was taken. Square POS is separate: it can refund eligible Interac payments with a physical Reader or connected Terminal.
As for Square POS Tap to Pay refund you reported, I’d love to look at the logs and understand why it’s failing. Please send the payment and order IDs, the time of the failed attempt, and the final error.
Also, I’ve been meaning to ask, is this a sandbox issue or production? We generally advise our developers to run their tests in the production environment as we’ve located some discrepancy between the sandbox vs. prod behaviors.