Subversion Repositories SmartDukaan

Rev

Rev 420 | Rev 703 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
420 ashish 1
'''
2
Created on 26-Aug-2010
3
 
4
@author: ashish
5
'''
6
from elixir import *
7
 
8
 
701 chandransh 9
class PaymentGateway(Entity):
420 ashish 10
    id = Field(Integer, primary_key=True, autoincrement=True)
11
    name = Field(String(100))
701 chandransh 12
    aliasName = Field(String(100))
13
    url = Field(String(500))
14
    responseUrl = Field(String(500))
15
    errorUrl = Field(String(500))
16
    status = Field(Integer)
17
    addedOn = Field(DateTime)
18
    attributes = OneToMany("GatewayAttribute")
420 ashish 19
 
701 chandransh 20
class GatewayAttribute(Entity):
21
    payment_gateway = ManyToOne("PaymentGateway", primary_key=True)
22
    name = Field(String(50), primary_key=True)
23
    value = Field(String(100))
420 ashish 24
 
701 chandransh 25
class PaymentAttribute(Entity):
26
    payment = ManyToOne("Payment", primary_key=True)
27
    name = Field(String(50), primary_key=True)
28
    value = Field(String(100))
29
 
30
class Payment(Entity):
420 ashish 31
    id = Field(Integer, primary_key=True, autoincrement=True)
701 chandransh 32
    gatewayId = Field(Integer)
33
    gatewayPaymentId = Field(String(50))
34
    merchantTxnId = Field(Integer)
35
    gatewayTxnId = Field(String(50))
36
    amount = Field(Float)
37
    gatewayTxnStatus = Field(String(20)),
38
    status = Field(Integer),
39
    userId = Field(Integer),
40
    errorCode = Field(String(20)),
41
    description = Field(String(50)),
42
    authCode = Field(String(20)),
43
    referenceCode = Field(String(20)),
44
    sessionId = Field(String(50)), 
45
    gatewayTxnDate = Field(String(50)),
46
    attributes = OneToMany("PaymentAttribute"),
47
    initTimestamp = Field(DateTime),
48
    successTimestamp = Field(DateTime),
49
    errorTimestamp = Field(DateTime)
420 ashish 50
 
51
def initialize():
52
    metadata.bind = "sqlite:///payment.sqlite" #need to read it from configserver.
53
    metadata.bind.echo = True
54
    setup_all(True)
55
 
56
if __name__=="__main__":
57
    initialize()