Что ж, я разрабатываю онлайн-сервис, который требует подписки для использования конечным пользователем. У него есть бесплатный базовый план, а затем у пользователя есть несколько платных планов с более широким набором функций.
Подписки бывают ежемесячные или ежегодные (по выбору пользователя).
Согласно спецификации клиента, у службы должно быть два способа обработки платежей - обработка кредитных карт или подписка PayPal. Я собираюсь заняться подписками PayPal, IPN и всем остальным, но меня беспокоят кредитные карты. Я знаю, как выставлять счета против CC с помощью API PayPal, и я очень хорошо знаю, что не могу хранить какую-либо конфиденциальную информацию, поэтому моя идея состоит в том, чтобы использовать сторонний сервис для хранения кредитных карт через некоторый безопасный API, а затем создать задание CRON, которое будет запускаться каждый день, чтобы проверять, истекает ли срок подписки на основе некоторых критериев, и если да, то взимать плату за следующий расчетный период.
Ну, я раньше хранил кредитные карты на Authorize.net для разных продуктов. Их API позволял создавать там профили пользователей (для которых вы получаете внутренний идентификатор пользователя для хранения), отправлять CC в хранилище (для которых вы получаете внутренний идентификатор cc для хранения) и всякий раз, когда вы хотите, вы можете взимать плату с этого идентификатора через API . Но это произошло только тогда, когда пользователь сознательно отправил форму «оплатите это с помощью этой кредитной карты (последние 4 цифры, полученные с Authorize.net)», поэтому зарядка его заданием cron в фоновом режиме может привести к юридическим проблемам, хотя мы бы это сделали. это только для услуги, на которую они сознательно подписались.
Вкратце - я хотел бы знать, является ли регулярные платежи с заданием cron для кредитных карт, хранящихся в удаленном сервисе, подходящим вариантом (если нет, пожалуйста, порекомендуйте что-нибудь). И если это так, я читал, что у PayPal есть служба для хранения кредитных карт, аналогичная Authorize.net, но после обширных исследований я не смог найти ни одной спецификации, каких-либо документов или каких-либо образцов о том, как это сделать. Не то чтобы я не мог сделать это с Authorize.net, но PayPal, кажется, технически намного лучше по сравнению с тем, что я помню с Authorize.net.