DBA Data[Home] [Help]

PACKAGE: APPS.IBY_PAYMENTCARD_PKG

Source


1 PACKAGE iby_paymentcard_pkg AUTHID CURRENT_USER AS
2 /*$Header: ibypmtcards.pls 120.0.12010000.5 2009/01/20 13:29:42 lmallick noship $*/
3 
4   -- Constant for payment card types
5   C_INSTRTYPE_PAYMENTCARD CONSTANT VARCHAR2(20) := 'PAYMENTCARD';
6 
7   -- Constant ofr Comcheck card issuer
8   C_ISSUER_COMCHECK VARCHAR2(20) := 'COMCHECK';
9 
10   -- Number masking options
11   G_MASK_CHARACTER CONSTANT VARCHAR2(1) := 'X';
12   G_DEF_UNMASK_LENGTH CONSTANT NUMBER := 4;
13 
14   -- Card validation errors
15   G_RC_INVALID_CARD_NUMBER CONSTANT VARCHAR2(30) := 'INVALID_CARD_NUMBER';
16   G_RC_INVALID_CARD_EXPIRY CONSTANT VARCHAR2(30) := 'INVALID_CARD_EXPIRY';
17   G_RC_INVALID_INSTR_TYPE CONSTANT VARCHAR2(30) := 'INVALID_INSTRUMENT_TYPE';
18   G_RC_INVALID_CARD_ISSUER CONSTANT VARCHAR2(30) := 'INVALID_CARD_ISSUER';
19   G_RC_INVALID_CARD_ID CONSTANT VARCHAR2(30) := 'INVALID_INSTRUMENT';
20   G_RC_INVALID_PARTY CONSTANT VARCHAR2(30) := 'INVALID_PARTY';
21   G_RC_INVALID_ADDRESS CONSTANT VARCHAR2(30) := 'INVALID_ADDRESS';
22 
23   G_LKUP_INSTR_TYPE_PC CONSTANT VARCHAR2(30) := 'PAYMENTCARD';
24 
25   -- Payment card billing site usage
26   G_PC_BILLING_SITE_USE CONSTANT VARCHAR2(30) := 'PAYMENTCARD_BILLING';
27 
28   -- Address Type Flags
29   G_PARTY_SITE_ID CONSTANT VARCHAR2(1) := 'S';
30   G_PARTY_SITE_USE_ID CONSTANT VARCHAR2(1) := 'U';
31 
32   TYPE PaymentCard_rec_type IS RECORD
33      (
34      Card_Id                NUMBER,
35      Owner_Id               NUMBER,
36      Card_Holder_Name       VARCHAR2(80),
37      Billing_Address_Id     NUMBER,
38      Billing_Postal_Code    VARCHAR2(50),
39      Billing_Address_Territory VARCHAR2(2),
40      Card_Number            VARCHAR2(30),
41      Expiration_Date        DATE,
42      Instrument_Type        VARCHAR2(30),
43      Card_Issuer            VARCHAR2(30),
44      FI_Name                VARCHAR2(80),
45      Single_Use_Flag        VARCHAR2(1),
46      Info_Only_Flag         VARCHAR2(1),
47      Card_Purpose           VARCHAR2(30),
48      Card_Description       VARCHAR2(240),
49      Active_Flag            VARCHAR2(1),
50      Inactive_Date          DATE,
51      Address_Type           VARCHAR2(1), -- Internal to payments, defaulted to 'S'
52      Attribute_category    VARCHAR2(150),
53      Attribute1 VARCHAR2(150),
54      Attribute2 VARCHAR2(150),
55      Attribute3 VARCHAR2(150),
56      Attribute4 VARCHAR2(150),
57      Attribute5 VARCHAR2(150),
58      Attribute6 VARCHAR2(150),
59      Attribute7 VARCHAR2(150),
60      Attribute8 VARCHAR2(150),
61      Attribute9 VARCHAR2(150),
62      Attribute10 VARCHAR2(150),
63      Attribute11 VARCHAR2(150),
64      Attribute12 VARCHAR2(150),
65      Attribute13 VARCHAR2(150),
66      Attribute14 VARCHAR2(150),
67      Attribute15 VARCHAR2(150)
68      );
69 
70 
71 
72   --
73   -- USE
74   --   Gets credit card mask settings
75   --
76   PROCEDURE Get_Mask_Settings
77   (x_mask_setting OUT NOCOPY iby_sys_security_options.credit_card_mask_setting%TYPE,
78    x_unmask_len OUT NOCOPY iby_sys_security_options.credit_card_unmask_len%TYPE
79   );
80 
81   --
82   -- USE
83   --   Generates a masked payment card number based upon system mask
84   --   settings
85   --
86   FUNCTION Mask_Card_Number(p_card_number IN iby_paymentcard.card_number%TYPE)
87   RETURN iby_paymentcard.masked_card_number%TYPE;
88 
89   FUNCTION Mask_Card_Number
90   (p_card_number       IN   iby_paymentcard.card_number%TYPE,
91    p_mask_option       IN   iby_paymentcard.card_mask_setting%TYPE,
92    p_unmask_len        IN   iby_paymentcard.card_unmask_length%TYPE
93   )
94   RETURN iby_paymentcard.masked_card_number%TYPE;
95 
96 
97   -- 1. Create_Card
98   --
99   --   API name        : Create_Card
100   --   Type            : Public
101   --   Pre-reqs        : None
102   --   Function        : Creates a payment card instrument
103   --   Current version : 1.0
104   --   Previous version: 1.0
105   --   Initial version : 1.0
106   --
107   PROCEDURE Create_Card
108             (
109             p_api_version      IN   NUMBER,
110             p_init_msg_list    IN   VARCHAR2  := FND_API.G_FALSE,
111             p_commit           IN   VARCHAR2  := FND_API.G_TRUE,
112             x_return_status    OUT NOCOPY VARCHAR2,
113             x_msg_count        OUT NOCOPY NUMBER,
114             x_msg_data         OUT NOCOPY VARCHAR2,
115             p_card_instrument  IN   PaymentCard_rec_type,
116             x_card_id          OUT NOCOPY NUMBER,
117             x_response         OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
118             );
119 
120   -- 2. Update_Card
121   --
122   --   API name        : Update_Card
123   --   Type            : Public
124   --   Pre-reqs        : None
125   --   Function        : Modifies a payment card instrument
126   --   Current version : 1.0
127   --   Previous version: 1.0
128   --   Initial version : 1.0
129   --
130   PROCEDURE Update_Card
131             (
132             p_api_version      IN   NUMBER,
133             p_init_msg_list    IN   VARCHAR2  := FND_API.G_FALSE,
134             p_commit           IN   VARCHAR2  := FND_API.G_TRUE,
135             x_return_status    OUT NOCOPY VARCHAR2,
136             x_msg_count        OUT NOCOPY NUMBER,
137             x_msg_data         OUT NOCOPY VARCHAR2,
138             p_card_instrument  IN   PaymentCard_rec_type,
139             x_response         OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
140             );
141 
142   -- 3. Get_Card
143   --
144   --   API name        : Get_Card
145   --   Type            : Public
146   --   Pre-reqs        : None
147   --   Function        : Queries a payment card instrument
148   --   Current version : 1.0
149   --   Previous version: 1.0
150   --   Initial version : 1.0
151   --
152   PROCEDURE Get_Card
153             (
154             p_api_version      IN   NUMBER,
155             p_init_msg_list    IN   VARCHAR2  := FND_API.G_FALSE,
156             x_return_status    OUT NOCOPY VARCHAR2,
157             x_msg_count        OUT NOCOPY NUMBER,
158             x_msg_data         OUT NOCOPY VARCHAR2,
159             p_card_id               NUMBER,
160             x_card_instrument  OUT NOCOPY PaymentCard_rec_type,
161             x_response         OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type
162             );
163 
164   -- 15. Card_Exists
165   --
166   --   API name        : Card_Exists
167   --   Type            : Public
168   --   Pre-reqs        : None
169   --   Function        : Queries if payment card is already registered;
170   --                     identity is based on the card number and owning
171   --                     party
172   --   Current version : 1.0
173   --   Previous version: 1.0
174   --   Initial version : 1.0
175   --
176   PROCEDURE Card_Exists
177             (
178             p_api_version      IN   NUMBER,
179             p_init_msg_list    IN   VARCHAR2  := FND_API.G_FALSE,
180             x_return_status    OUT NOCOPY VARCHAR2,
181             x_msg_count        OUT NOCOPY NUMBER,
182             x_msg_data         OUT NOCOPY VARCHAR2,
183             p_owner_id              NUMBER,
184             p_card_number           VARCHAR2,
185             x_card_instrument  OUT NOCOPY PaymentCard_rec_type,
186             x_response         OUT NOCOPY IBY_FNDCPT_COMMON_PUB.Result_rec_type,
187             p_card_instr_type  IN  VARCHAR2 DEFAULT NULL
188             );
189 
190 
191   --
192   -- USE: Updates instrument masks according to new setting
193   --
194   -- ARGS:  p_commit => whether to commit the changes
195   --
196   --
197   PROCEDURE Remask_Instruments
198   (
199     p_commit      IN     VARCHAR2 := FND_API.G_TRUE
200   );
201 
202 
203 END iby_paymentcard_pkg;