Я пытаюсь внедрить систему подписки PayPal со следующими функциями:PayPal повторяющаяся платежи с Trial период
- 1 месяц службы по заявке будет совершенно бесплатно, после чего пользователь будет платить ежемесячную сумму.
Я написал следующий код, как показано ниже:
BillingPeriodType periodType = BillingPeriodType.MONTH;
switch (subs)
{
case("Month"):
periodType = BillingPeriodType.MONTH;
break;
case("Year"):
periodType = BillingPeriodType.YEAR;
break;
}
BasicAmountType paymentAmount = new BasicAmountType((CurrencyCodeType)EnumUtils.GetValue("USD", typeof(CurrencyCodeType)), subType.Price);
BillingPeriodType period = periodType;
BillingPeriodDetailsType paymentPeriod = new BillingPeriodDetailsType(period, 1, paymentAmount);
ScheduleDetailsType scheduleDetails = new ScheduleDetailsType();
/*Free trial period of 1 month for monthly sub*/
if (periodType == BillingPeriodType.MONTH)
{
scheduleDetails.TrialPeriod = new BillingPeriodDetailsType(BillingPeriodType.MONTH,1, new BasicAmountType((CurrencyCodeType)EnumUtils.GetValue("USD", typeof(CurrencyCodeType)), "0.01"));
scheduleDetails.TrialPeriod.TotalBillingCycles = 1;
}
else if (periodType == BillingPeriodType.YEAR)
{
scheduleDetails.TrialPeriod = new BillingPeriodDetailsType(BillingPeriodType.YEAR, 1, new BasicAmountType((CurrencyCodeType)EnumUtils.GetValue("USD", typeof(CurrencyCodeType)), "0.01"));
}
scheduleDetails.Description = "//Some description"
scheduleDetails.PaymentPeriod = paymentPeriod;
createRPProfileRequest.CreateRecurringPaymentsProfileRequestDetails.ScheduleDetails = scheduleDetails;
CreateRecurringPaymentsProfileReq createRPProfileReq = new CreateRecurringPaymentsProfileReq();
createRPProfileReq.CreateRecurringPaymentsProfileRequest = createRPProfileRequest;
Это поднимает мне огромную заботу безопасности ...
So let's suppose user subscribes for monthly subscription and get 1 month for free...
This way, nothing stops the user to cancel the subscription the last day and then to re-subscribe once again and re-use the 1 month trial period for free...
В настоящее время информации пользователей на PayPal я только магазин Профиль IDID в БД ....
Есть ли эффективный способ узнать, пользовался ли пользователь пробным периодом на моем Веб-сайт?
Also another security concern to me is that user can simply re-register with new account and subscribe once again under completely different ProfileID
Как вы решите эту проблему?
Phillip, хороший вопрос, но что делать, если пользователь добавляет несколько адресов электронной почты в свою учетную запись PayPal и изменяет новый на первичный (это возможно)? =) – User987
О, я думал, что это невозможно. Предоставляет ли API-интерфейс PayPal уникальную информацию о пользователях? –
Я полагаю, что это так, тогда мне нужно будет проверить его имя и фамилию и ранее существовавшие профили подписчиков, чтобы узнать, были ли у него пробные периоды, нет? \ – User987