Abonnements-trækninger

Hej med jer,
Jeg er ved at omprogrammere vores abonnementsplaner og ønsker at overgå fra at vores kunder selv skal forlænge deres abonnementer og betale hver gang med kreditkort, til at det hele sker automatisk 1 måned ad gangen. Lad delen omkring kreditkorttrækket ligge, den har jeg styr på, men jeg har behov for noget feedback på processen omkring trækningerne. Jeg bøvler lidt med at jeg ikke helt kan finde ud af rækkefølgen samt den korrekte både at programmere mig ud af det på.
Jeg er eksempelvis i tvivl om den via cronjobs skal starte med at generere en faktura som den så forsøger at lave automatisk kortbetaling på efterfølgende
Fordelen her af:
- Den danner fakturanummer som bruges som reference for korttrækningen. Disse to kædes sammen
Ulemper:
- Hvis et kort eksempelvis er spærret eller udløbet står jeg tilbage med en ubetalt faktura som enten skal krediteres eller kunden skal rykkes for.
Optimalt set tænker jeg at det smarteste må være at lave korttrækket - og lave to veje afhængigt af om betalingen går igennem eller afvises.
Hvis betalingen accepteres så skal den danne en faktura med det indhold kunden netop er trukket for. Ulempen heraf bliver at jeg ikke får mulighed for at knytte et ordrenummer på kortbetalingen - men det er måske lige meget ?
Hvis betalingen bliver afvist skal den advisere mig og kunden om den manglende trækning og konsekvenserne heraf og evt. spærre adgang til vores system indtil kunden har tilmeldt et nyt kort.
Helt lavpraktisk er jeg også lidt i tvivl om HVORNÅR jeg skal lave trækningen. Hvis kunden har et abonnement der udløber 30.06 så er vores system opsat til at kunden også har adgang hele d. 30.06. Skal jeg så køre en betaling igennem d 30.06 for den kommende måned (01.07 - 31.07) eller skal jeg vente med at lave trækningen til 01.07 og så acceptere at kunden har adgang frem til der er gennemført en betaling?
Jeg er åben overfor gode idéer
Mange hilsner - Patrick

Hejsa @psto
1. Vi genererer et ordrenr. der bruges som reference. Hvis betalingen bliver gennemført, genereres en faktura med et unikt fakturanr. - på fakturaen påfører vi både ordrenr. og fakturanr.
2. Vi trækker d. 01.07 kl. 00.00:01 - så kunden kan annullere sit abonnement helt op til midnat, hvis det ikke ønskes forlænget.
Håber dette gav lidt inspiration til dit videre forløb.
Med venlige hilsner Daniel Bahl (@db)
CEO – v5.dk ApS