Я использую Django paypalrestsdk для PayPal https://github.com/paypal/PayPal-Python-SDK
И я хотел бы настроить ежемесячный план подписки. В начале месяца покупателю будет взиматься 100 долларов США.
Это мой код платежного плана, который я сделал:
billing_plan = paypalrestsdk.BillingPlan({
"name": "Monthly Billing Plan",
"description": "Monthly Plan",
"merchant_preferences": {
"auto_bill_amount": "yes",
"cancel_url": "http://localhost:8000/payment_billing_agreement_cancel",
"initial_fail_amount_action": "continue",
"max_fail_attempts": "0",
"return_url": "http://localhost:8000/payment_billing_agreement_execute",
"setup_fee": {
"currency": "USD",
"value": "100"
}
},
"payment_definitions": [
{
"amount": {
"currency": "USD",
"value": "100"
},
"cycles": "0",
"frequency": "MONTH",
"frequency_interval": "1",
"name": "Monthly Payment",
"type": "REGULAR"
}
],
"type": "INFINITE"
})
Мне непонятно, взимается ли он в первый день месяца или в последний день месяца? Должен ли я настроить, чтобы он сразу зарядился? Мое намерение - это зарядка производится в первый день месяца.
Я вижу это в песочнице покупателя: Предварительно утвержденная оплата USD100. Что это значит, он уже заплатил 100 долларов США или предварительно одобрен и взимается в последний день месяца?
Исходя из этого, кажется, что он сразу заряжен. то есть он должен показать USD200 право? (настройка + ежемесячно, но показывается только 100 долларов США) https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/subscription_billing_cycles/
Я использовал этот поток до сих пор:
create billing plan
activate billing plan
create billing agreement
execute billing agreement
(это правильно? он показывает предварительно одобренный, но это действительно заряжено, если не какие другие шаги следует предпринять, чтобы зарядить его должным образом)
Чтобы уточнить, главный вопрос заключается в том, как настроить ежемесячную оплату с помощью PayPal (и установить цикл зарядки, будь то начало месяца или конца)? (в этом примере его использование django python)
ОБНОВИТЬ:
По рекомендации @john-moutafis, у меня теперь есть настройка USD100, а повторяющаяся дата начала устанавливается 1 месяц спустя за USD111
billing_agreement = paypalrestsdk.BillingAgreement({
"name": "Monthly Billing Agreement",
"description": "Monthly Payment Agreement",
"start_date": arrow.utcnow().shift(months=+1).datetime.strftime('%Y-%m-%dT%H:%M:%SZ'),
"plan": {
"id": billing_plan.id
},
"payer": {
"payment_method": "paypal"
}
})
Вот скриншоты PayPal, почему нет информации о сумме и почему она предварительно одобрена без повторяющейся информации? https://imgur.com/a/Sp7JdVC