diff --git a/apps/OpenSignServer/cloud/customRoute/saveSubscription.js b/apps/OpenSignServer/cloud/customRoute/saveSubscription.js index dfdca0c2b..214bb3707 100644 --- a/apps/OpenSignServer/cloud/customRoute/saveSubscription.js +++ b/apps/OpenSignServer/cloud/customRoute/saveSubscription.js @@ -1,9 +1,9 @@ export default async function saveSubscription(request, response) { - const SubscriptionId = request.body.data.subscription.subscription_id; + const SubscriptionId = request.body?.data?.subscription?.subscription_id; const body = request.body; - const Email = request.body.data.subscription.customer.email; - const Next_billing_date = request.body.data.subscription.next_billing_at; - const planCode = request.body.data.subscription.plan.plan_code + const Email = request.body.data?.subscription?.customer?.email; + const Next_billing_date = request.body?.data?.subscription?.next_billing_at; + const planCode = request.body?.data?.subscription?.plan?.plan_code; try { const extUserCls = new Parse.Query('contracts_Users'); @@ -22,7 +22,11 @@ export default async function saveSubscription(request, response) { updateSubscription.id = subscription.id; updateSubscription.set('SubscriptionId', SubscriptionId); updateSubscription.set('SubscriptionDetails', body); - updateSubscription.set('Next_billing_date', new Date(Next_billing_date)); + if (Next_billing_date) { + updateSubscription.set('Next_billing_date', new Date(Next_billing_date)); + } else { + updateSubscription.unset('Next_billing_date'); + } updateSubscription.set('PlanCode', planCode); await updateSubscription.save(null, { useMasterKey: true }); return response.status(200).json({ status: 'update subscription!' }); @@ -45,7 +49,11 @@ export default async function saveSubscription(request, response) { className: 'partners_Tenant', objectId: extUser.get('TenantId').id, }); - createSubscription.set('Next_billing_date', new Date(Next_billing_date)); + if (Next_billing_date) { + createSubscription.set('Next_billing_date', new Date(Next_billing_date)); + } else { + createSubscription.unset('Next_billing_date'); + } createSubscription.set('PlanCode', planCode); await createSubscription.save(null, { useMasterKey: true }); return response.status(200).json({ status: 'create subscription!' });