django-payme este o aplicatie Django pentru manipularea plăți online. Se poate lucra cu orice instalare existentă fără a fi nevoie de a schimba modelele altor aplicații.
Orice model ca ordine, într-adevăr?
Da, datorită mare AbstractMixin putem atașa modelul de plată la orice alt model, care reprezintă o comandă, element unic, planul de abonament, donație ... orice. Noi nu utilizați relații generice aici, dar bine ForeignKey vechi, ceea ce face datele coerente la nivel DB.
Nu există cerințe de interfață cu privire la modelul de ordine (nu este nevoie să fie numit ordine, nici). Singurul lucru ce trebuie sa faci, este de a implementa set de bază de ascultători de semnal care extrag date esențiale din comanda.
Aceste semnale pot locui într-o aplicație independentă, astfel încât nu este nevoie de a atinge codul app care conține modelul pentru.
OK, spune-mi cum să-l folosească!
Mai întâi de toate, trebuie să instalați Mamona și adăugați-l la fișierul settings.py.
În al doilea rând, ar trebui să permită backend în settings.py și configura parametrii esențiali pentru gateway-uri. Următorul exemplu este pentru scopuri de testare, folosind servere nisip PayPal și un modul test numit manechin.
MAMONA_ACTIVE_BACKENDS = (
& Nbsp; "dummy",
& Nbsp; "paypal",
)
MAMONA_BACKENDS_SETTINGS = {
& Nbsp; "paypal": {
& Nbsp; "url": "https://www.sandbox.paypal.com/cgi-bin/webscr",
& Nbsp; "e-mail": "me@my-email.com",
& Nbsp;},
}
În al treilea rând, știind cât de modelul pentru și este mediul de organizare, trebuie să pună în aplicare ascultatori pentru două semnale:
- Return_urls_query, unde va oferi întoarce URL-uri pentru plăți reușite și nereușite.
- Order_items_query, în cazul în care veți completa o listă de elemente de comandă (sau doar a reveni element unic pentru comenzi simplu).
În cele din urmă, să construiască un model de plată conectate împreună cu modelul comanda:
din build_payment_model mamona.models import
Plată = build_payment_model (MyOrderModel, unic = True, related_name = "plăți")
Pentru a verifica implementarea exemplu, vezi testul proiect /. Și, de asemenea se referă la codul sursă al Mamona sine
Caracteristici :.
- accepta orice model ca ordine și creează ceea ForeignKey la l,
- nu necesită interfață de model comanda,
- se pot ocupa diferite gateway-uri de plată, doar prin a permite backend (în acest moment, singurul PayPal și testarea & quot; manechin & quot; backend sunt prezente),
- pot trece lista articole și date de client la gateway de plată,
- oferă semnale pentru a viziona progresul plată.
Cerințe :
- Python
Comentariile nu a fost găsit