Issue: When calling the REST API v2 endpoints GET /v2/subscriptions (listSubscriptions) or GET /v2/subscriptions/{id} (getSubscription), the payment_method_id field returns 0 for subscriptions that have valid payment methods assigned in the legacy system.
Expected Behavior: The payment_method_id should return the REST API payment method ID that corresponds to the CreditCard assigned to the subscription.
Actual Behavior:
-
REST API returns
payment_method_id: 0 -
XML-RPC query of
RecurringOrder.CC1returns the correct CreditCard table ID (e.g.,135076,142485) -
The CreditCard table ID does NOT match the REST API payment_method_id (e.g.,
30157)
Workaround Required:
-
Query
RecurringOrder.CC1via XML-RPC to get the legacy CreditCard ID -
Query
CreditCardtable via XML-RPC to getLast4digits -
Match
Last4to REST API payment methods to find the correctpayment_method_id
Impact:
-
Breaks billing page card association displays
-
Prevents accurate card-in-use detection for deletion protection
-
Forces developers to maintain dual API implementations (REST + XML-RPC)
Request: Please populate payment_method_id correctly in the REST API v2 Subscription model, mapping the legacy RecurringOrder.CC1 to the corresponding REST payment method ID.