Consistency of XML datafeed status messages

Can you please update the codes used in the various XML datafeeds to use consistent messages?

Today we had an order from Amazon muck things up because its status was "captured" -- which apparently is a code that means not complete in this context. It was followed three seconds later by an updated datafeed with <status><![CDATA[approved]]></status>. The first datafeed was incomplete: It did not include (for example) the full shipping address.

So, we updated our datafeed processor to treat the "captured" status as a type of pending status, and manually re-processed the XML from the second "Approved" transaction.

Our next transaction came through Stripe, and apparently has "captured" as its success message -- there was no followup datafeed on this one.

Can you _please_ pick one individual message that we can treat as successful? Having a different set of messages to parse per payment processor is no fun at all.
Comments
  • brettbrett FoxyCart Team
    @oskay I'm sorry about that. We'll take a look and get back to you with more info about the statuses. I agree, consistency is better.
  • fc_adamfc_adam FoxyCart Team
    @oskay,

    Thanks for bringing this to our attention. We rolled out some changes recently that included some improvements to Amazon Pay. It shouldn't have impacted normal transactions, but based on your experience with the duplicate webhooks, it obviously has impacted it.

    We've now reverted those changes, and as such, you'll want to revert the changes you made to your datafeed around the statuses - you were correct originally in coding against "captured" meaning a successful transaction.

    Again - I'm sorry for the issues you experienced here. We'll look further into this issue with the changes to ensure the current experience doesn't change when they're applied.
  • oskayoskay Member
    Thank you for the follow up.

    I'm not completely sure that I understand the guidance here, with your use of the word "against."
    Should "captured" be regarded as the same as "approved" now?
  • fc_adamfc_adam FoxyCart Team
    @oskay,

    Sorry for the delay, and for the confusion from my previous reply. We do have some inconsistencies with our transaction statuses, and we have some active tickets on our side for improving that. For example, some transactions have a blank status, which means it was completed successfully, but then hosted gateways have historically made use of the status node to show it's current state - whether pending, declined or approved etc.

    As we're working to introduce native support for voiding and refunding transactions through the admin - we're expanding the status node to make it used for each gateway, rather than just for some as it has been, as those changes introduce additional statuses like "refunded" and "voided".

    This will include setting transactions to a status of "captured" for traditional gateways. Currently hosted gateways use a status of "approved" as their successful response.

    As such - on your datafeed endpoint - to cover all the bases while we complete these changes - you could check for a blank status, "approved" or "captured" as a successful state for a transaction.

    We'll be reaching out to stores soon about the upcoming changes, and providing some clearer documentation around it on our wiki too.
Sign In or Register to comment.