Other features or issues related to Microsoft Partner Center
Store Purchase API RecurrenceChange Refund returns 200 but refund is never executed
Windows/Store app publisher (Partner Center, Apps and Games workspace) — Store Purchase API issue. Please route to Store developer / commerce support if this product is not the right one.
We use the Microsoft Store Purchase API (B2B) from our server to manage subscription add-ons. Two separate Refund requests against the same paid, active subscription both returned HTTP 200, yet no refund was ever executed: 12 days later the customer's order history shows only the original charge, no refund email was received, and no credit reached the payment card.
Identifiers:
- Product (subscription add-on): Store ID 9PMRMBNCX0BK, SKU 0100, market DE
- Recurrence ID: mdr:0:c92d187613fe467f828069aa87f3c6fd:9e07539e-250a-4cff-ab39-9eecd626cbf9
- Beneficiary (publisherUserId):
pub:2debcf0d-313b-4df7-bcfc-ab2c144f9d61 - Order: purchased 2026-09-02 (recurrence
startTime2026-09-02T00:00:00Z), EUR 4.99, non-trial (isTrial: false)
Timeline (UTC):
- 2026-09-02 ~15:30 —
POST https://purchase.mp.microsoft.com/v8.0/b2b/recurrences/{id}/changewith{"changeType":"Refund","b2bKey":"…"}→ HTTP 200. The returned recurrence snapshot and subsequentrecurrences/querycalls showedrecurrenceState: Active,lastModifiedunchanged (2026-09-02T12:54:41Z, i.e. pre-request). - 2026-09-03 08:56 — same
Refundrequest repeated → HTTP 200 again, and notably not403 IneligibleForRefund, which we would expect if the first refund had been processed. Snapshot again unchanged. - 2026-09-03 08:56 —
changeType: Cancelon the same recurrence → HTTP 200 and executed immediately (recurrenceState: Canceled,expirationTimeclamped to 2026-09-03T08:56:37Z,cancellationDateset). So authentication, the b2bKey and the recurrence ID are all correct; onlyRefundis silently not executed. - 2026-09-14 — customer order history at account.microsoft.com/billing/orders still shows the 2026-09-02 EUR 4.99 order with no refund line; no refund notification email; no card credit.
For contrast, a Refund attempt on a trial recurrence of the same product on 2026-09-02 correctly returned 403 IneligibleForRefund ("no order eligible"), so the eligibility check itself works.
Questions:
- Was a refund recorded on your side for this order? If so, why is it not visible to the customer and where is the money?
- If not, why does
RecurrenceChange Refundanswer 200 without executing, and without an eligibility rejection? Is there a market (DE), same-day-order, or account-type condition that causes a silent no-op? - Please process the refund of the EUR 4.99 order for the recurrence above.
Publisher/app: CompuLab, Markus Gömmel, True Backgammon Community. Tenant ID: a70bd93c-c127-42ae-a25b-c877dae8614f.