question

devendra avatar image
devendra asked Bryanne Vega commented

Getting error in refund response as Unknown payment or order

Hi Team,

We are having issues while doing a refund after performing split tender in a sale. Getting below error response from clover side :
“Unknown payment or order”

I am providing my sale and refund request/response. Please check and let us know what we are missing that could cause this issue?

SALE REQUEST : {"disablePrinting":true,"cardNotPresent":null,"disableRestartTransactionOnFail":false,"amount":749,"cardEntryMethods":36623,"vaultedCard":null,"externalId":"6656715814","type":"PAYMENT","signatureThreshold":null,"signatureEntryLocation":null,"disableReceiptSelection":true,"disableDuplicateChecking":true,"autoAcceptPaymentConfirmations":false,"autoAcceptSignature":false,"tippableAmount":null,"tipAmount":null,"disableCashback":null,"disableTipOnScreen":null,"taxAmount":50,"allowOfflinePayment":true,"forceOfflinePayment":false,"approveOfflinePaymentWithoutPrompt":true,"tipMode":null}

RESPONSE :: success : true, result : SUCCESS, reason : null, Message : null
RESPONSE Payment info ::
isSuccess : true, isAuth : false, isPreauth : false, isSale : false, Payment : Payment{json='{"tender":{"instructions":null,"visible":true,"editable":false,"id":"6WHB6HGMQGS1W","label":"Credit Card","labelKey":"com.clover.tender.credit_card","opensCashDrawer":false,"enabled":true},"amount":749,"lineItemPayments":null,"cardTransaction":{"vaultedCard":null,"entryType":"SWIPED","last4":"6668","authCode":null,"cardholderName":null,"extra":{"cvmResult":"SIGNATURE"},"transactionNo":null,"cardType":"DISCOVER","state":"CLOSED","referenceId":null,"token":null},"cashTendered":null,"tipAmount":0,"transactionSettings":{"disableRestartTransactionOnFailure":false,"forceOfflinePayment":false,"cardEntryMethods":36623,"signatureEntryLocation":null,"allowOfflinePayment":true,"disableDuplicateCheck":true,"disableReceiptSelection":true,"autoAcceptSignature":false,"cloverShouldHandleReceipts":false,"signatureThreshold":null,"autoAcceptPaymentConfirmations":false,"approveOfflinePaymentWithoutPrompt":true},"cashbackAmount":null,"employee":{"id":"53E4RDTBSHHBG"},"transactionInfo":{},"result":"SUCCESS","offline":true,"taxRates":{"elements":[]},"createdTime":1527844599090,"externalPaymentId":"6656715814","id":"9BPPAZT6Q6ZRE","taxAmount":50,"order":{"id":"726WBWW0Z7G8J"}}', bundle=null, changeLog=null}

REFUND REQUEST :
{"orderId":"726WBWW0Z7G8J","paymentId":"9BPPAZT6Q6ZRE","amount":100,"fullRefund":true}

RESPONSE :: success : false, result : FAIL, reason : FAIL, Message : Unknown payment or order.
Payment ID : 9BPPAZT6Q6ZRE, Order ID : 726WBWW0Z7G8J, Refund Info : null

Thanks,
Devendra
Clover Miniremote pay java
4 comments
10 |2000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

@Devendra

An “Unknown payment or order” error thrown while providing a valid paymentId and orderId on your refund request may be due to a server syncing issue. Please try sending another refund request with the orderID and paymentID you had provided and let me know if there is still an error.

{"orderId":"726WBWW0Z7G8J","paymentId":"9BPPAZT6Q6ZRE","amount":100,"fullRefund":true}
0 Likes 0 ·

From checking server logs i saw:
2018-06-01 09:17:26.909 /cos/v1/pay request to create the payment got a 503 status code
2018-06-01 09:18:43.046 /v2/refund request to refund payment got 499 status code
2018-06-01 09:20:03.250 /v2/refund request attempted again, got 499 status code
2018-06-01 09:23:00.731 /cos/v1/pay request is attempted again by the device and succeeds

After 2018-06-01 09:23:00.731 I would expect the refund request to succeed.

I'm not familiar with remote pay java, not sure what you can do to mitigate this.

0 Likes 0 ·
If I'm not mistaken, Refunds is & should not be available for 3rd Party apps due to security & fraud concerns. You will have to guide the merchant/employee onto performing a manual refund. (Unless ofcourse, the tender you've used was your custom one).
0 Likes 0 ·

@Bryanne Vega,

That is correct. Our CloverAndroidSDK does not provide a way to our 3rd party app developers to launch our Refund activities.

However, this is the Semi-integrations space. Semi-integrations utilize the Clover device solely as a payment terminal, and instead provide the POS solution to their clients through their own software. The Remote-Pay-SDKs provided for semi-integrations do have APIs for processing refunds.

Best,

Keith

0 Likes 0 ·

0 Answers

Welcome to the
Clover Developer Community