Django-payme is een Django app voor de afhandeling van online betalingen. Het kan werken met elke bestaande setup zonder de noodzaak van het veranderen van modellen andere toepassingen '.
Elk model als order, echt?
Ja, dankzij de grote AbstractMixin we kunnen Payment model hechten aan een ander model, dat een opdracht vertegenwoordigt, enkel item, abonnement, donatie ... wat dan ook. We zijn niet generieke relaties hier gebruik van, maar goede oude ForeignKey waarop uw gegevens consequent over DB niveau maakt.
Er zijn geen interface-eisen aan de orde model (het niet hoeft te worden genoemd order, ofwel). Het enige wat je hoeft te doen, is het implementeren van basisset van signaal luisteraars die essentiële gegevens te extraheren uit uw bestelling.
Deze signalen kunnen wonen in een standalone applicatie, dus er is geen noodzaak om de code van de app bevat orde model raken.
OK, vertel me hoe het te gebruiken!
Allereerst moet je Mamona installeren en deze toevoegen aan uw settings.py bestand.
Ten tweede, moet u de backends in settings.py inschakelen en configureren essentiële parameters voor gateways. Het volgende voorbeeld is voor testdoeleinden, via PayPal zandbak server en een test module genaamd dummy.
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;},
}
Ten derde, te weten hoe uw bestelling model en het milieu wordt georganiseerd, moet je luisteraars implementeren voor twee signalen:
- Return_urls_query, voorzien waar je URL's terug voor een succesvolle en mislukte betalingen.
- Order_items_query, waar u een overzicht van de bestelling items te vullen (of gewoon terug enkel item voor eenvoudige bestellingen).
Tot slot, het bouwen van een Payment model met elkaar verbonden met uw bestelling model:
van mamona.models import build_payment_model
Betaling = build_payment_model (MyOrderModel, uniek = True, related_name = 'betalingen')
Om een voorbeeld implementatie te controleren, zie test project /. En ook verwijzen naar de broncode van Mamona zelf
Eigenschappen .
- aanvaardt elk model als orde en creëert ForeignKey relatie tot het,
- vereist geen interface op orde model,
- kan verschillende betaling gateways, gewoon doordat backends behandelen (op dit moment, alleen PayPal en testen & quot; dummy & quot; backends aanwezig zijn),
- kan items lijst en de klant gegevens doorgeven aan de betaling gateway,
- biedt signalen om de betaling vooruitgang te kijken.
Eisen
- Python
Reacties niet gevonden