question

dolfin1986 avatar image
dolfin1986 asked David Marginian edited

Successful Manual Refund transaction response does not contain expected fields

Hello, I have installed and tested Clover provided Remote Pay Cloud example application - Remote-pay-cloud-pos-react. Three fields set when preparing request :

setExternalId(externalId)

setExternalReferenceId(externalReferenceId)

setRequestId(requestId).

None of them are returned in response. Question: is this correct? Should I not expect all or some of them returned to the caller in response?

I can copy and paste Request and response

Thank you!


RefundRemote Pay Cloud
10 |2000

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

David Marginian avatar image
David Marginian answered David Marginian edited

There is no way to track manual refunds via external id.

10 |2000

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

dolfin1986 avatar image
dolfin1986 answered David Marginian edited

Based on Clover documentation https://docs.clover.com/docs/tracking-transactions-with-external-ids

and matching setters in remotepay.ManualRefundRequest() extending remotepay.BaseTransactionRequest I am populating externalID and external Reference Id in request and expect to see these two fields in response to complete my response validation logic. But these two fields are not returned in response. So this was my question - why I did not see them in response and should I expect to see them both or any of them in response or not? In which case the Clover documentation might need to be updated to avoid confusion. I based on the example I know what I can or can't do in my semi-integrated POS app. As you can see below externalReferenceId returned null, externalID is not returned at all

see request and response below:

  1. Request:
    1. amount: "2700"
    2. autoAcceptPaymentConfirmations: undefined
    3. cardEntryMethods: 34567
    4. cardNotPresent: undefined
    5. disableDuplicateChecking: undefined
    6. disablePrinting: undefined
    7. disableReceiptSelection: undefined
    8. disableRestartTransactionOnFail: undefined
    9. externalId: "AEG3SHSTFNTJW"
    10. externalReferenceId: "extRef222"
    11. extras: undefined
    12. presentQrcOnly: undefined
    13. regionalExtras: undefined
    14. requestId: "myrequest111"
    15. type: "CREDIT"
    16. vaultedCard: undefined
    17. version: undefined
    Response:
    1. credit: Credit
      1. amount: 2700
      2. appTracking: undefined
      3. cardTransaction: CardTransaction
        1. authCode: null
        2. avsResult: undefined
        3. begBalance: undefined
        4. captured: undefined
        5. cardType: "MC"
        6. cardholderName: undefined
        7. currency: undefined
        8. endBalance: undefined
        9. entryType: "EMV_CONTACT"
        10. extra: { applicationLabel: '4D617374657263617264', applicationIdentifier: 'A0000000041010'}
        11. first6: undefined
        12. gatewayTxState: undefined
        13. last4: "0434"
        14. referenceId: "135700000119"
        15. state: "CLOSED"
        16. token: undefined
        17. transactionNo: undefined
        18. type: "NAKEDREFUND"
        19. vaultedCard: undefined
        20. _class_: ƒ ()
        21. [[Prototype]]: Object
      4. clientCreatedTime: undefined
      5. createdTime: 1640288344584
      6. creditRefunds: undefined
      7. customers: undefined
      8. dccInfo: undefined
      9. device: undefined
      10. employee: Reference { id: null, _class_: ƒ}
      11. externalReferenceId: null
      12. germanInfo: null
      13. id: "3JC1ZJHXRYT8E"
      14. merchant: undefined
      15. orderRef: Reference { id: 'C35J3A3W2JG3P', _class_: ƒ}
      16. result: "SUCCESS"
      17. taxAmount: null
      18. taxRates: undefined
      19. tender: Tender { id: 'ZAZFB7SF0F1TJ', editable: false, labelKey: 'com.clover.tender.credit_card', label: 'Credit Card', _class_: ƒ, …}
      20. transactionInfo: null
      21. transactionSettings: undefined
      22. voidReason: undefined
      23. voided: undefined
      24. _class_: ƒ ()
      25. [[Prototype]]: Object
    2. message: "No extended information provided."
    3. reason: "SUCCESS"
    4. result: "SUCCESS"
    5. success: true


1 comment
10 |2000

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

Sorry I missed the subject line and that this is for a manual refund, currently manual refunds do not allow tracking via external id.

0 Likes 0 ·
dolfin1986 avatar image
dolfin1986 answered David Marginian commented

Same regarding externalReferenceId and requestId? You are saying none of the fields externalId, externalReferenceId or requestId populated in the request should be expected back in response so it is a correct behavior?

1 comment
10 |2000

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

Yes, there is no way to track manual refund requests via external id. I am not saying it is the "correct" behavior, but that is how things currently work.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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

Welcome to the
Clover Developer Community