Hi all
does anyone have solution for GraphQL of a working mutation to void a pre with “authorized” transaction ? A bug in shopify flow mesns we have locked up 1000 peoples money pre auth. The flow cancelled the orders (bots) but left transactions as authorized. Timeout is a month away. I am happy to run a mutation for eadh one but the example doc keeps giving syntax error. Can someone please help me with the dirtiest working hardcode input ever just so we can plough rhrough this nightmare with PR? Any help greatly appreciated. Shopify Plus told us to pound sand even though i think their cancel flow should void a transaction.
i sure would appreciate the help. Plus won’t give any. Am happy to pay.
This is the first time I have used (tried to) the api. and am using the GraphQL app, at suggestion of SP Support. THere are plenty of working code snippets in Rest API i find on the forum, but since it doesnt have an app interface I dont know how to build that development environment. The last time I did proper development was at microsoft for windows XP! I am very shocked that Shopify Plus say this issue is not their problem, even though i think Stripe would see it differently. Interested in thoughts about whether Shopify’s own cancel order Flow doesn’t void a pre-auth for transactions not autocaptured, and also puts order in a state where cannot do anything about it from the order level at alll.
You’ve got some stuff wrong in the query. Usually safest to just copy the example:
Happy to get this working for you asap on a paid basis if you’re interested.
Yes i am please, as still cant get it working,
1 Like
Happy to have helped you out on this one. For future reference to anyone else on this thread, you just want to query the transaction ID on the order:
query orderTransaction {
order(id: "gid://shopify/Order/6574244626594") {
id
transactions(first: 10) {
id
status
authorizationCode
authorizationExpiresAt
manuallyCapturable
totalUnsettledSet {
shopMoney {
amount
}
}
processedAt
paymentDetails {
... on CardPaymentDetails {
name
number
}
}
maximumRefundable
multiCapturable
}
}
}
And then you’ll get a transaction ID that looks like gid://shopify/OrderTransaction/
And then you want to run this mutation:
mutation transactionVoid($parentTransactionId: ID!) {
transactionVoid(parentTransactionId: $parentTransactionId) {
transaction {
id
status
}
userErrors {
field
message
}
}
}
With variables:
{
"parentTransactionId": "gid://shopify/OrderTransaction/
And you should be all set.
1 Like