1 PACKAGE IBY_PAYMENT_ADAPTER_PUB AS
2 /* $Header: ibyppads.pls 120.22.12010000.6 2008/08/21 21:21:35 jleybovi ship $ */
3 /*#
4 * The IBY_PAYMENT_ADAPTER_PUB package provides payment processing APIs.
5 * These include all standard payment APIs as well as query and batch APIs.
6 *
7 * @rep:scope public
8 * @rep:product IBY
9 * @rep:lifecycle active
10 * @rep:displayname Credit Card Payment Processing
11 * @rep:compatibility S
12 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
13 * @rep:doccd iby120ig.pdf Implementing APIs, Oracle iPayment Implementation Guide
14 */
15
16 -- module name used for the application debugging framework
17 --
18 G_DEBUG_MODULE CONSTANT VARCHAR2(100) := 'iby.plsql.IBY_PAYMENT_ADAPTER_PUB';
19
20 -- results interface code
21 --
22 G_INTERFACE_CODE CONSTANT VARCHAR2(30) := 'PMT_ADAPTER';
23
24 -- constant for org_type default value
25 C_ORG_TYPE_OPERATING_UNIT CONSTANT VARCHAR2(30) := 'OPERATING_UNIT';
26
27
28 -------------------------------------------------------------------------
29 --**Defining all DataStructures required by the APIs**--
30 -- The following input and output PL/SQL record/table types are defined
31 -- to store the objects (entities) necessary for the EC-App PL/SQL APIs.
32 -------------------------------------------------------------------------
33 --INPUT DataStructures
34 --1. Payments Related Generic Record Types
35
36 TYPE Payee_rec_type IS RECORD (
37 Payee_ID VARCHAR2(80)
38 );
39
40 TYPE Payer_rec_type IS RECORD (
41 party_id NUMBER(15)
42 );
43 --
44 -- Dual Payment Instrument Record type
45 --
46 TYPE DualPaymentInstr_rec_type IS RECORD (
47 PmtInstr_ID NUMBER,
48 PmtInstr_ShortName VARCHAR2(80),
49 BnfPmtInstr_ID NUMBER,
50 BnfPmtInstr_ShortName VARCHAR2(80)
51 );
52
53 TYPE PmtInstr_rec_type IS RECORD (
54 PmtInstr_ID NUMBER,
55 PmtInstr_Type VARCHAR2(30),
56 PmtInstr_ShortName VARCHAR2(80),
57 DualPaymentInstr DualPaymentInstr_rec_type,
58 PmtInstr_Assignment_ID NUMBER
59 );
60
61 TYPE Tangible_rec_type IS RECORD (
62 Tangible_ID VARCHAR2(80),
63 Tangible_Amount NUMBER,
64 Currency_Code VARCHAR2(80),
65 RefInfo VARCHAR2(80),
66 Memo VARCHAR2(80),
67 Acct_Num VARCHAR2(80),
68 OrderMedium VARCHAR2(30),
69 EFTAuthMethod VARCHAR2(30)
70 );
71
72 G_AUTHTYPE_AUTHONLY CONSTANT VARCHAR2(30) := 'AUTHONLY';
73 G_AUTHTYPE_VERIFY CONSTANT VARCHAR2(30) := 'VERIFY';
74
75 --2. Payment Transactions Related Record Types
76 /* PmtMode(On-line = 'ONLINE', Off-line = 'OFFLINE') */
77 --Added New field Retry_Flag (12/16/99)
78 --Added 4 new fields for PCard support (06/13/00)
79 --Added the flag AnalyzeRisk (06/29/00)
80 TYPE PmtReqTrxn_rec_type IS RECORD (
81 Trxn_Extension_Id NUMBER,
82 PmtMode VARCHAR2(30) := 'ONLINE',
83 CVV2 VARCHAR2(10) := NULL,
84 Settlement_Date DATE,
85 Auth_Type VARCHAR2(80),
86 Check_Flag VARCHAR2(30),
87 Retry_Flag VARCHAR2(30),
88 Org_ID NUMBER,
89 org_type VARCHAR2(30) := C_ORG_TYPE_OPERATING_UNIT,
90 NLS_LANG VARCHAR2(80),
91 PONum NUMBER,
92 TaxAmount NUMBER,
93 ShipFromZip VARCHAR2(80),
94 ShipToZip VARCHAR2(80),
95 AnalyzeRisk VARCHAR2(80),
96 AuthCode VARCHAR2(255),
97 VoiceAuthFlag VARCHAR2(30),
98 TrxnRef VARCHAR2(240),
99 DateOfVoiceAuthorization DATE,
100 Payment_Factor_Flag VARCHAR2(1),
101 payment_channel_code VARCHAR2(30)
102 );
103
104 TYPE ModTrxn_rec_type IS RECORD (
105 Trxn_ID NUMBER,
106 PmtMode VARCHAR2(30),
107 Settlement_Date DATE,
108 Check_Flag VARCHAR2(30),
109 Auth_Type VARCHAR2(80),
110 PONum NUMBER,
111 TaxAmount NUMBER,
112 ShipFromZip VARCHAR2(80),
113 ShipToZip VARCHAR2(80)
114 );
115
116 TYPE CaptureTrxn_rec_type IS RECORD (
117 Trxn_ID NUMBER,
118 PmtMode VARCHAR2(30),
119 Settlement_Date DATE,
120 Currency VARCHAR2(80),
121 Price NUMBER,
122 TrxnRef VARCHAR2(240),
123 NLS_LANG VARCHAR2(80)
124 );
125
126 TYPE CaptureTrxn_tbl IS TABLE of CaptureTrxn_rec_type INDEX BY BINARY_INTEGER;
127
128 C_MAX_CC_BATCH_SIZE CONSTANT INTEGER := 100;
129
130
131 TYPE ReturnTrxn_rec_type IS RECORD (
132 Trxn_ID NUMBER,
133 PmtMode VARCHAR2(30),
134 Settlement_Date DATE,
135 Currency VARCHAR2(80),
136 Price NUMBER,
137 TrxnRef VARCHAR2(240),
138 NLS_LANG VARCHAR2(80)
139 );
140
141 TYPE CancelTrxn_rec_type IS RECORD (
142 Trxn_ID NUMBER,
143 Req_Type VARCHAR2(80),
144 NLS_LANG VARCHAR2(80)
145 );
146
147 TYPE QueryTrxn_rec_type IS RECORD (
148 Trxn_ID NUMBER,
149 History_Flag VARCHAR2(30),
150 NLS_LANG VARCHAR2(80)
151 );
152
153 TYPE VoidTrxn_rec_type IS RECORD (
154 Trxn_ID NUMBER,
155 PmtMode VARCHAR2(30),
156 Settlement_Date DATE,
157 Trxn_Type NUMBER,
158 TrxnRef VARCHAR2(240),
159 NLS_LANG VARCHAR2(80)
160 );
161
162 TYPE CreditTrxn_rec_type IS RECORD (
163 PmtMode VARCHAR2(30),
164 Settlement_Date DATE,
165 Retry_Flag VARCHAR2(30),
166 Payer_Party_ID NUMBER,
167 Org_ID NUMBER,
168 org_type VARCHAR2(30) := C_ORG_TYPE_OPERATING_UNIT,
169 TrxnRef VARCHAR2(240),
170 NLS_LANG VARCHAR2(80),
171 payment_channel_code VARCHAR2(30)
172 );
173
174 --NOTE: PmtType optional field is newly added to be
175 --used only for closebatch operation.
176 TYPE BatchTrxn_rec_type IS RECORD (
177 PmtMode VARCHAR2(30),
178 PmtType VARCHAR2(30),
179 PmtInstrType VARCHAR2(30),
180 Settlement_Date DATE,
181 Payee_ID VARCHAR2(80),
182 BEP_Suffix VARCHAR2(80),
183 BEP_Account VARCHAR2(80),
184 MerchBatch_ID VARCHAR2(80),
185 NLS_LANG VARCHAR2(80),
186 Account_Profile VARCHAR2(30)
187 );
188
189 --3. iPayment 11i Risk Management Record Types
190
191 TYPE RiskInfo_rec_type IS RECORD (
192 Formula_Name VARCHAR2(80) := FND_API.G_MISS_CHAR,
193 ShipToBillTo_Flag VARCHAR2(255) := FND_API.G_MISS_CHAR,
194 Time_Of_Purchase VARCHAR2(80) := FND_API.G_MISS_CHAR,
195 Customer_Acct_Num VARCHAR2(30) := FND_API.G_MISS_CHAR
196 -- ,
197 -- Org_ID NUMBER := FND_API.G_MISS_NUM
198 );
199
200 TYPE PaymentRiskInfo_rec_type IS RECORD (
201 Formula_Name VARCHAR2(80) ,
202 Payee_ID VARCHAR2(80) ,
203 Amount NUMBER ,
204 Party_Id NUMBER(15) ,
205 PmtInstr PmtInstr_rec_type,
206 ShipToBillTo_Flag VARCHAR2(255) ,
207 Time_Of_Purchase VARCHAR2(80) ,
208 Customer_Acct_Num VARCHAR2(30) ,
209 AVSCode VARCHAR2(80) ,
210 Currency_Code VARCHAR2(80)
211
212 -- ,
213 -- Org_ID NUMBER := FND_API.G_MISS_NUM
214 );
215
216 TYPE AVSRiskInfo_rec_type IS RECORD (
217 Formula_Name VARCHAR2(80) ,
218 Payee_ID VARCHAR2(80) ,
219 Previous_Risk_Score NUMBER ,
220 AVSCode VARCHAR2(80)
221 );
222
223
224 G_MISS_RISKINFO_REC RiskInfo_rec_type;
225
226 FUNCTION Is_RiskInfo_rec_Missing (
227 RiskInfo_rec in RiskInfo_rec_type
228 ) RETURN BOOLEAN;
229
230 -- OUTPUT value constants
231 --
232
233 C_TRXN_STATUS_SUCCESS CONSTANT INTEGER := 0;
234 C_TRXN_STATUS_INFO CONSTANT INTEGER := 1;
235 C_TRXN_STATUS_WARNING CONSTANT INTEGER := 2;
236 C_TRXN_STATUS_ERROR CONSTANT INTEGER := 3;
237
238
239 --OUTPUT DataStructures
240 --1. iPayment Response Record Types
241 TYPE Response_rec_type IS RECORD (
242 Status NUMBER,
243 ErrCode VARCHAR2(80),
244 ErrMessage VARCHAR2(255),
245 NLS_LANG VARCHAR2(80)
246 );
247
248 --2. OffLine Mode Response Record Types
249 TYPE OffLineResp_rec_type IS RECORD (
250 EarliestSettlement_Date DATE,
251 Scheduled_Date DATE
252 );
253
254 --3. Risk Response Record Types
255 TYPE RiskResp_rec_type IS RECORD (
256 Status NUMBER,
257 ErrCode VARCHAR2(80),
258 ErrMessage VARCHAR2(255),
259 Additional_ErrMessage VARCHAR2(255),
260 Risk_Score NUMBER,
261 Risk_Threshold_Val NUMBER,
262 Risky_Flag VARCHAR2(30),
263 AVSCode_Flag VARCHAR2(30)
264 );
265
266 --4. Payment Transactions Response Record Types
267 -- Note: Need to add EarliestSettlementDate,
268 -- ScheduleDate later, based on BEPs.
269 -- Note: RiskRespIncluded is a flag that tells the ECAPP that the
270 -- RiskResonse Record has some valid Risk related Response info.
271
272 TYPE ReqResp_rec_type IS RECORD (
273 Response Response_rec_type,
274 OffLineResp OffLineResp_rec_type,
275 RiskRespIncluded VARCHAR2(30),
276 RiskResponse RiskResp_rec_type,
277 Trxn_ID NUMBER,
278 Trxn_Type NUMBER,
279 Trxn_Date DATE,
280 Authcode VARCHAR2(80),
281 RefCode VARCHAR2(80),
282 AVSCode VARCHAR2(80),
283 CVV2Result VARCHAR2(5),
284 PmtInstr_Type VARCHAR2(80),
285 Acquirer VARCHAR2(80),
286 VpsBatch_ID VARCHAR2(80),
287 AuxMsg VARCHAR2(255),
288 ErrorLocation NUMBER,
289 BEPErrCode VARCHAR2(80),
290 BEPErrMessage VARCHAR2(255)
291 );
292
293 TYPE ModResp_rec_type IS RECORD (
294 Response Response_rec_type,
295 OffLineResp OffLineResp_rec_type,
296 Trxn_ID NUMBER
297 );
298
299 TYPE VoidResp_rec_type IS RECORD (
300 Response Response_rec_type,
301 OffLineResp OffLineResp_rec_type,
302 Trxn_ID NUMBER,
303 Trxn_Type NUMBER,
304 Trxn_Date DATE,
305 RefCode VARCHAR2(80),
306 PmtInstr_Type VARCHAR2(80),
307 ErrorLocation NUMBER,
308 BEPErrCode VARCHAR2(80),
309 BEPErrMessage VARCHAR2(255)
310 );
311
312 TYPE CancelResp_rec_type IS RECORD (
313 Response Response_rec_type,
314 Trxn_ID NUMBER,
315 ErrorLocation NUMBER,
316 BEPErrCode VARCHAR2(80),
317 BEPErrMessage VARCHAR2(255)
318 );
319
320 TYPE CaptureResp_rec_type IS RECORD (
321 Response Response_rec_type,
322 OffLineResp OffLineResp_rec_type,
323 Trxn_ID NUMBER,
324 Trxn_Type NUMBER,
325 Trxn_Date DATE,
326 PmtInstr_Type VARCHAR2(80),
327 RefCode VARCHAR2(80),
328 ErrorLocation NUMBER,
329 BEPErrCode VARCHAR2(80),
330 BEPErrMessage VARCHAR2(255)
331 );
332
333 TYPE CaptureRespAll_rec_type IS RECORD (
334 --Response_rec_type--
335 Status NUMBER,
336 ErrCode VARCHAR2(80),
337 ErrMessage VARCHAR2(255),
338 NLS_LANG VARCHAR2(80),
339 --OffLineResp_rec_type--
340 EarliestSettlement_Date DATE,
341 Scheduled_Date DATE,
342
343 Trxn_ID NUMBER,
344 Trxn_Type NUMBER,
345 Trxn_Date DATE,
346 PmtInstr_Type VARCHAR2(80),
347 RefCode VARCHAR2(80),
348 ErrorLocation NUMBER,
349 BEPErrCode VARCHAR2(80),
350 BEPErrMessage VARCHAR2(255)
351 );
352 TYPE CaptureResp_tbl IS TABLE of CaptureRespAll_rec_type INDEX BY BINARY_INTEGER;
353
354
355 TYPE ReturnResp_rec_type IS RECORD (
356 Response Response_rec_type,
357 OffLineResp OffLineResp_rec_type,
358 Trxn_ID NUMBER,
359 Trxn_Type NUMBER,
360 Trxn_Date DATE,
361 PmtInstr_Type VARCHAR2(80),
362 RefCode VARCHAR2(80),
363 ErrorLocation NUMBER,
364 BEPErrCode VARCHAR2(80),
365 BEPErrMessage VARCHAR2(255)
366 );
367
368 TYPE CreditResp_rec_type IS RECORD (
369 Response Response_rec_type,
370 OffLineResp OffLineResp_rec_type,
371 Trxn_ID NUMBER,
372 Trxn_Type NUMBER,
373 Trxn_Date DATE,
374 PmtInstr_Type VARCHAR2(80),
375 RefCode VARCHAR2(80),
376 ErrorLocation NUMBER,
377 BEPErrCode VARCHAR2(80),
378 BEPErrMessage VARCHAR2(255)
379 );
380
381 TYPE InqResp_rec_type IS RECORD (
382 Response Response_rec_type,
383 Payer Payer_rec_type,
384 Payee Payee_rec_type,
385 Tangible Tangible_rec_type,
386 PmtInstr PmtInstr_rec_type
387 );
388
389 TYPE QryTrxnRespSum_rec_type IS RECORD (
390 Response Response_rec_type,
391 ErrorLocation NUMBER,
392 BEPErrCode VARCHAR2(80),
393 BEPErrMessage VARCHAR2(255)
394 );
395
396 TYPE QryTrxnRespDet_rec_type IS RECORD (
397 Status NUMBER,
398 StatusMsg VARCHAR2(255),
399 Trxn_ID NUMBER,
400 Trxn_Type NUMBER,
401 Trxn_Date DATE,
402 PmtInstr_Type VARCHAR2(80),
403 Currency VARCHAR2(80),
404 Price NUMBER,
405 RefCode VARCHAR2(80),
406 AuthCode VARCHAR2(80),
407 AVSCode VARCHAR2(80),
408 Acquirer VARCHAR2(80),
409 VpsBatch_ID VARCHAR2(80),
410 AuxMsg VARCHAR2(255),
411 ErrorLocation NUMBER,
412 BEPErrCode VARCHAR2(80),
413 BEPErrMessage VARCHAR2(255)
414 );
415
416 TYPE QryTrxnRespDet_tbl_type IS TABLE OF QryTrxnRespDet_rec_type
417 INDEX BY BINARY_INTEGER;
418
419
420 --5. Batch Payment Transactions Response Record Types
421
422 TYPE BatchRespSum_rec_type IS RECORD (
423 Response Response_rec_type,
424 OffLineResp OffLineResp_rec_type,
425 NumTrxns NUMBER,
426 MerchBatch_ID VARCHAR2(80),
427 BatchState NUMBER,
428 BatchDate DATE,
429 Credit_Amount NUMBER,
430 Sales_Amount NUMBER,
431 Batch_Total NUMBER,
432 Payee_ID VARCHAR2(80),
433 VpsBatch_ID VARCHAR2(80),
437 BEPErrCode VARCHAR2(80),
434 GWBatch_ID VARCHAR2(80),
435 Currency VARCHAR2(80),
436 ErrorLocation NUMBER,
438 BEPErrMessage VARCHAR2(255)
439 );
440
441 TYPE BatchRespDet_rec_type IS RECORD (
442 Trxn_ID NUMBER,
443 Trxn_Type NUMBER,
444 Trxn_Date DATE,
445 Status NUMBER,
446 ErrorLocation NUMBER,
447 BEPErrCode VARCHAR2(80),
448 BEPErrMessage VARCHAR2(255),
449 NLS_LANG VARCHAR2(80)
450 );
451
452 TYPE SecureCVVResp_rec_type IS RECORD (
453 Response Response_rec_type,
454 Segment_ID NUMBER
455 );
456
457
458 TYPE BatchRespDet_tbl_type IS TABLE OF BatchRespDet_rec_type
459 INDEX BY BINARY_INTEGER;
460
461 --6. Utility Table Type
462 /* Note: This is a utility table to be used for storing names,
463 values of name-value pairs. */
464 TYPE v240_tbl_type IS TABLE of VARCHAR2(240) INDEX BY BINARY_INTEGER;
465
466 -- Misc. constants
467 --
468
469 C_ECAPP_URL_PROP_NAME CONSTANT VARCHAR2(50) := 'IBY_ECAPP_URL';
470
471
472 ---------------------------------------------------------------
473 -- API Signatures--
474 ---------------------------------------------------------------
475 /*#
476 * The OraPmtReq API Submits a credit card/purchase card authorization request.
477 * This API can also be used to transfer funds from a bank account,
478 * such as ACH payment requests and to verify the bank account information.
479 *
480 * This API is available in overloaded form without risk-related
481 * input parameters.
482 *
483 * @param p_api_version version of the API; use 1.0 by default
484 * @param p_init_msg_list required by API standard; use FND_API.G_FALSE by
485 * default
486 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE
487 * by default
488 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL
489 * by default
490 * @param p_ecapp_id product identifier of the calling application
491 * @param p_payee_rec entity that stores the attributes of the payee
492 * @param p_payer_rec entity that stores the attributes of the payer
493 * @param p_pmtinstr_rec entity that stores the attributes of the payment
494 * instrument. A payment instrument can be a credit card, purchase card, debit
495 * card or bank account. Instrument registration is required before
496 * calling this API.
497 * @param p_tangible_rec entity that stores the attributes of an order or bill.
498 * The tangible identifier is used to identify a transaction, so it must be unique
499 * for a given payee.
500 * @param p_pmtreqtrxn_rec entity that stores the attributes of the
501 * authorization request. This entity is used in specifying whether
502 * authorization is online or offline, the type of the authorization
503 * (authonly, authcapture, or verify for ACH), etc...
504 * @param p_riskinfo_rec entity that stores the risk management attributes
505 * @param x_return_status indicates the return status of the procedure -
506 * 'S' indicates success, 'U' indicates an error
507 * @param x_msg_count holds the number of error messages in the message list
508 * @param x_msg_data contains the error messages
509 * @param x_reqresp_rec entity that stores the attrbutes of the authorization
510 * response
511 * @rep:scope public
512 * @rep:displayname Perform Credit Card Authorization or ACH Transfer
513 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
514 */
515 --1. OraPmtReq
516 PROCEDURE OraPmtReq ( p_api_version IN NUMBER,
517 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
518 p_commit IN VARCHAR2 := FND_API.G_FALSE,
519 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
520 p_ecapp_id IN NUMBER,
521 p_payee_rec IN Payee_rec_type,
522 p_payer_rec IN Payer_rec_type,
523 p_pmtinstr_rec IN PmtInstr_rec_type,
524 p_tangible_rec IN Tangible_rec_type,
525 p_pmtreqtrxn_rec IN PmtReqTrxn_rec_type,
526 p_riskinfo_rec IN RiskInfo_rec_type
527 := IBY_PAYMENT_ADAPTER_PUB.G_MISS_RISKINFO_REC,
528 x_return_status OUT NOCOPY VARCHAR2,
529 x_msg_count OUT NOCOPY NUMBER,
530 x_msg_data OUT NOCOPY VARCHAR2,
531 x_reqresp_rec OUT NOCOPY ReqResp_rec_type
532 );
533
534 /*#
535 * The OraPmtMod API Modifies an existing, deferred, scheduled payment request.
536 * Payment requests can only be modified before requests are sent to the payment system.
537 *
538 * @param p_api_version version of the API; use 1.0 by default
539 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE by default
540 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL by default
541 * @param p_ecapp_id the product identifier of the calling application
542 * @param p_payee_rec record that stores the attributes of the payee
543 * @param p_payer_rec record that stores the attributes of the payer
544 * @param p_pmtinstr_rec record that stores the attributes of the payment instrument. A payment instrument can be a credit card, purchase card or bank account
545 * @param p_tangible_rec record that stores the attributes of an order or bill. The tangible identifier is used to identify a transaction, so it must be unique for a given payee.
549 * @param x_msg_data contains the error messages
546 * @param p_ModTrxn_rec record that specifies the request to modify, as well as containing request attributes, which over-write those originally submitted
547 * @param x_return_status indicates the return status of the procedure 'S' indicates success, 'U' indicates an error
548 * @param x_msg_count holds the number of error messages in the message list
550 * @param x_modresp_rec record that stores the attributes of the modification response
551 * The result of the modification request is returned in parameter x_modresp_rec
552 * @rep:scope public
553 * @rep:lifecycle active
554 * @rep:displayname Credit Card Payment Modification
555 * @rep:compatibility S
556 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
557 */
558 --2. OraPmtMod
559 PROCEDURE OraPmtMod ( p_api_version IN NUMBER,
560 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
561 p_commit IN VARCHAR2 := FND_API.G_FALSE,
562 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
563 p_ecapp_id IN NUMBER,
564 p_payee_rec IN Payee_rec_type,
565 p_payer_rec IN Payer_rec_type,
566 p_pmtinstr_rec IN PmtInstr_rec_type,
567 p_tangible_rec IN Tangible_rec_type,
568 p_ModTrxn_rec IN ModTrxn_rec_type,
569 x_return_status OUT NOCOPY VARCHAR2,
570 x_msg_count OUT NOCOPY NUMBER,
571 x_msg_data OUT NOCOPY VARCHAR2,
572 x_modresp_rec OUT NOCOPY ModResp_rec_type
573 );
574
575 /*#
576 * The OraPmtCanc API Cancels an existing, deferred, scheduled payment
577 * request while the request is still in Pending status.
578 *
579 * @param p_api_version version of the API; use 1.0 by default
580 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE by default
581 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL by default
582 * @param p_ecapp_id the product identifier of the calling application
583 * @param p_canctrxn_rec record which identifies the request to cancel
584 * @param x_return_status indicates the return status of the procedure; 'S' indicates success, 'U' indicates an error
585 * @param x_msg_count holds the number of error messages in the message list
586 * @param x_msg_data contains the error messages
587 * @param x_cancresp_rec record that stores the attributes of the cancellation response
588 * The result of the cancellation request is returned in parameter x_modresp_rec
589 * @rep:scope public
590 * @rep:lifecycle active
591 * @rep:displayname Credit Card Payment Cancellation
592 * @rep:compatibility S
593 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
594 */
595 --3. OraPmtCanc
596 PROCEDURE OraPmtCanc ( p_api_version IN NUMBER,
597 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
598 p_commit IN VARCHAR2 := FND_API.G_FALSE,
599 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
600 p_ecapp_id IN NUMBER,
601 p_canctrxn_rec IN CancelTrxn_rec_type,
602 x_return_status OUT NOCOPY VARCHAR2,
603 x_msg_count OUT NOCOPY NUMBER,
604 x_msg_data OUT NOCOPY VARCHAR2,
605 x_cancresp_rec OUT NOCOPY CancelResp_rec_type
606 );
607
608 /*#
609 * The OraPmtQryTrxn API Queries the status of a payment request that was submitted to
610 * a payment system. The payment system is contacted by a call to this API, and the
611 * data that the API returns is stored in the Oracle Payments schema. This API
612 * synchronizes Oracle Payments' data with the payment system.
613 *
614 * @param p_api_version version of the API; use 1.0 by default
615 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE by default
616 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL by default
617 * @param p_ecapp_id the product identifier of the calling application
618 * @param p_querytrxn_rec record which identifies the request to query
619 * @param x_return_status indicates the return status of the procedure 'S' indicates success, 'U' indicates an error
620 * @param x_msg_count holds the number of error messages in the message list
621 * @param x_msg_data contains the error messages
622 * @param x_qrytrxnrespsum_rec record which stores a query result summary
623 * @param x_qrytrxnrespdet_tbl record that stores a collection of query result details; multiple details will be returned if the history flag is turned on, one for every distinct request type associated with the given transaction identifier
624 * The result of the query request is returned in the two query response parameters
625 * @rep:scope public
626 * @rep:lifecycle active
627 * @rep:displayname Credit Card Payment Query
628 * @rep:compatibility S
629 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
630 */
631 --4. OraPmtQryTrxn
632 PROCEDURE OraPmtQryTrxn ( p_api_version IN NUMBER,
633 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
634 p_commit IN VARCHAR2 := FND_API.G_FALSE,
635 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
636 p_ecapp_id IN NUMBER,
637 p_querytrxn_rec IN QueryTrxn_rec_type,
638 x_return_status OUT NOCOPY VARCHAR2,
639 x_msg_count OUT NOCOPY NUMBER,
640 x_msg_data OUT NOCOPY VARCHAR2,
641 x_qrytrxnrespsum_rec OUT NOCOPY QryTrxnRespSum_rec_type,
642 x_qrytrxnrespdet_tbl OUT NOCOPY QryTrxnRespDet_tbl_type
643 );
644
645 /*#
646 * The OraPmtCapture API Submits a credit card/purchase card capture request.
647 * A previously authorized payment request is a prerequisite for a capture.
648 *
652 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE
649 * @param p_api_version version of the API; use 1.0 by default
650 * @param p_init_msg_list required by API standard; use FND_API.G_FALSE by
651 * default
653 * by default
654 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL
655 * by default
656 * @param p_ecapp_id the product identifier of the calling application
657 * @param p_capturetrxn_rec entity that stores the attributes of the capture
658 * request
659 * @param x_return_status indicates the return status of the procedure; 'S'
660 * indicates success, 'U' indicates an error
661 * @param x_msg_count holds the number of error messages in the message list
662 * @param x_msg_data contains the error messages
663 * @param x_capresp_rec entity that stores the attributes of the capture
664 * response
665 * @rep:scope public
666 * @rep:displayname Perform Credit Card Capture
667 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
668 */
669 --5. OraPmtCapture
670 PROCEDURE OraPmtCapture ( p_api_version IN NUMBER,
671 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
672 p_commit IN VARCHAR2 := FND_API.G_FALSE,
673 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
674 p_ecapp_id IN NUMBER,
675 p_capturetrxn_rec IN CaptureTrxn_rec_type,
676 x_return_status OUT NOCOPY VARCHAR2,
677 x_msg_count OUT NOCOPY NUMBER,
678 x_msg_data OUT NOCOPY VARCHAR2,
679 x_capresp_rec OUT NOCOPY CaptureResp_rec_type
680 );
681
682 /*#
683 * The OraPmtReturn API Submits a credit card/purchase card return funds
684 * (refund) request. This transaction moves money from the merchant's account
685 * to the customer's account. As the refund is made against a previously
686 * submitted capture, you must submit the tangible identifier of the previous capture
687 * in this request.
688 *
689 * @param p_api_version version of the API; use 1.0 by default
690 * @param p_init_msg_list required by API standard; use FND_API.G_FALSE by
691 * default
692 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE
693 * by default
694 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL
695 * by default
696 * @param p_ecapp_id the product id of the calling application
697 * @param p_returntrxn_rec entity that stores the attributes of the return
698 * request
699 * @param x_return_status indicates the return status of the procedure; 'S'
700 * indicates success, 'U' indicates an error
701 * @param x_msg_count holds the number of error messages in the message list
702 * @param x_msg_data contains the error messages
703 * @param x_retresp_rec entity that stores the attributes of the return response
704 * @rep:scope public
705 * @rep:displayname Perform Credit Card Return
706 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
707 */
708
709 --6. OraPmtReturn
710 PROCEDURE OraPmtReturn ( p_api_version IN NUMBER,
711 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
712 p_commit IN VARCHAR2 := FND_API.G_FALSE,
713 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
714 p_ecapp_id IN NUMBER,
715 p_returntrxn_rec IN ReturnTrxn_rec_type,
716 x_return_status OUT NOCOPY VARCHAR2,
717 x_msg_count OUT NOCOPY NUMBER,
718 x_msg_data OUT NOCOPY VARCHAR2,
719 x_retresp_rec OUT NOCOPY ReturnResp_rec_type
720 );
721
722 /*#
723 * The oraPmtVoid API Voids a previously submitted capture request. Only
724 * those captures that are pending in Oracle iPayment can be voided. Captures
725 * that were already submitted to a credit card processor/gateway cannot be
726 * voided.
727 *
728 * @param p_api_version version of the API; use 1.0 by default
729 * @param p_init_msg_list required by API standard;use FND_API.G_FALSE by
730 * default
731 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE
732 * by default
733 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL
734 * by default
735 * @param p_ecapp_id the product identifier of the calling application
736 * @param p_voidtrxn_rec entity that stores the attributes of the void request
737 * @param x_return_status indicates the return status of the procedure; 'S'
738 * indicates success, 'U' indicates an error
739 * @param x_msg_count holds the number of error messages in the message list
740 * @param x_msg_data contains the error messages
741 * @param x_voidresp_rec entity that stores the attributes of the void response
742 * @rep:scope public
743 * @rep:displayname Perform Credit Card Void
744 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
745 */
746
747 --7. OraPmtVoid
748 PROCEDURE OraPmtVoid ( p_api_version IN NUMBER,
749 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
750 p_commit IN VARCHAR2 := FND_API.G_FALSE,
751 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
752 p_ecapp_id IN NUMBER,
753 p_voidtrxn_rec IN VoidTrxn_rec_type,
754 x_return_status OUT NOCOPY VARCHAR2,
755 x_msg_count OUT NOCOPY NUMBER,
756 x_msg_data OUT NOCOPY VARCHAR2,
757 x_voidresp_rec OUT NOCOPY VoidResp_rec_type
758 );
759
760 /*#
764 * capture transaction.
761 * The oraPmtCredit API Submits a credit card/purchase card refund request.
762 * This transaction moves funds from the merchant's account to the customer's
763 * account. A credit transaction can be made without reference to any previous
765 *
766 * @param p_api_version version of the API; use 1.0 by default
767 * @param p_init_msg_list required by API standard; use FND_API.G_FALSE
768 * by default
769 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE
770 * by default
771 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL
772 * by default
773 * @param p_ecapp_id the product identifier of the calling application
774 * @param p_payee_rec entity that stores the attributes of the payee
775 * @param p_pmtinstr_rec entity that stores the attributes of the payment
776 * instrument
777 * @param p_tangible_rec entity that stores the attributes of an order or bill.
778 * The tangible id is used to identify a transaction, so it must be unique
779 * for a given payee.
780 * @param p_credittrxn_rec entity that stores the attributes of the credit
781 * request
782 * @param x_return_status indicates the return status of the procedure; 'S'
783 * indicates success, 'U' indicates an error
784 * @param x_msg_count holds the number of error messages in the message list
785 * @param x_msg_data contains the error messages
786 * @param x_creditresp_rec entity that stores the attributes of the credit
787 * response
788 * @rep:scope public
789 * @rep:displayname Perform a Credit Card Refund
790 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
791 */
792
793 --8. OraPmtCredit
794 PROCEDURE OraPmtCredit ( p_api_version IN NUMBER,
795 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
796 p_commit IN VARCHAR2 := FND_API.G_FALSE,
797 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
798 p_ecapp_id IN NUMBER,
799 p_payee_rec IN Payee_rec_type,
800 p_pmtinstr_rec IN PmtInstr_rec_type,
801 p_tangible_rec IN Tangible_rec_type,
802 p_credittrxn_rec IN CreditTrxn_rec_type,
803 x_return_status OUT NOCOPY VARCHAR2,
804 x_msg_count OUT NOCOPY NUMBER,
805 x_msg_data OUT NOCOPY VARCHAR2,
806 x_creditresp_rec OUT NOCOPY CreditResp_rec_type
807 );
808
809 /*#
810 * The OraPmtInq API Queries the details of a payment transaction. The results returned
811 * are payment transactions that are currently stored in the product schema.
812 *
813 * @param p_api_version version of the API; use 1.0 by default
814 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE by default
815 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL by default
816 * @param p_ecapp_id the product id of the calling application
817 * @param p_tid transaction identifier of the transaction to query
818 * @param x_return_status indicates the return status of the procedure 'S' indicates a success, 'U' indicates an error
819 * @param x_msg_count holds the number of error messages in the message list
820 * @param x_msg_data contains the error messages
821 * @param x_inqresp_rec record which stores the inquiry result
822 * The result of the query request is returned in the two query response parameters
823 * @rep:scope public
824 * @rep:lifecycle active
825 * @rep:displayname Credit Card Payment Inquiry
826 * @rep:compatibility S
827 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
828 */
829 --9. OraPmtInq
830 PROCEDURE OraPmtInq ( p_api_version IN NUMBER,
831 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
832 p_commit IN VARCHAR2 := FND_API.G_FALSE,
833 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
834 p_ecapp_id IN NUMBER,
835 p_tid IN NUMBER,
836 x_return_status OUT NOCOPY VARCHAR2,
837 x_msg_count OUT NOCOPY NUMBER,
838 x_msg_data OUT NOCOPY VARCHAR2,
839 x_inqresp_rec OUT NOCOPY InqResp_rec_type
840 );
841
842 /*#
843 * The OraPmtCloseBatch API Closes a batch of transactions, which might be a mandatory
844 * step for final settlement of funds, depending on the payment system.
845 *
846 * @param p_api_version version of the API; use 1.0 by default
847 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE by default
848 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL by default
849 * @param p_ecapp_id product identifier of the calling application
850 * @param p_batchtrxn_rec record that defines the batch, particularly its name and its owning payee
851 * @param x_return_status indicates the return status of the procedure; 'S' indicates success, 'U' an error
852 * @param x_msg_count holds the number of error messages in the message list
853 * @param x_msg_data contains the error messages
854 * @param x_closebatchrespsum_rec record that stores the batch close result summary
855 * @param x_closebatchrespdet_tbl record that stores a collection of batch close result details, with one detail for every payment transaction within the batch
856 * The result of the batch close request is returned in the two batch close response parameters
857 * @rep:scope public
858 * @rep:lifecycle active
859 * @rep:displayname Credit Card Payment Batch Close
860 * @rep:compatibility S
861 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
862 */
863 --10. OraPmtCloseBatch
867 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
864 PROCEDURE OraPmtCloseBatch ( p_api_version IN NUMBER,
865 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
866 p_commit IN VARCHAR2 := FND_API.G_FALSE,
868 p_ecapp_id IN NUMBER,
869 p_batchtrxn_rec IN BatchTrxn_rec_type,
870 x_return_status OUT NOCOPY VARCHAR2,
871 x_msg_count OUT NOCOPY NUMBER,
872 x_msg_data OUT NOCOPY VARCHAR2,
873 x_closebatchrespsum_rec OUT NOCOPY BatchRespSum_rec_type,
874 x_closebatchrespdet_tbl OUT NOCOPY BatchRespDet_tbl_type
875 );
876
877 /*#
878 * The OraPmtQueryBatch API Queries a previously closed batch of transactions, which
879 * may be required for the transactions to achieve a Final status.
880 *
881 * @param p_api_version version of the API; use 1.0 by default
882 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE by default
883 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL by default
884 * @param p_ecapp_id the product identifier of the calling application
885 * @param p_batchtrxn_rec record that identifies the batch to query
886 * @param x_return_status indicates the return status of the procedure; 'S' indicates success, 'U' indicates an error
887 * @param x_msg_count holds the number of error messages in the message list
888 * @param x_msg_data contains the error messages
889 * @param x_qrybatchrespsum_rec record that stores the batch query summary
890 * @param x_qrybatchrespdet_tbl record that stores a collection of transaction details, with one for every payment transaction within the batch
891 * The result of the batch query request is returned in the two batch query response parameters
892 * @rep:scope public
893 * @rep:lifecycle active
894 * @rep:displayname Credit Card Payment Batch Query
895 * @rep:compatibility S
896 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
897 */
898 --11. OraPmtQueryBatch
899 PROCEDURE OraPmtQueryBatch ( p_api_version IN NUMBER,
900 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
901 p_commit IN VARCHAR2 := FND_API.G_FALSE,
902 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
903 p_ecapp_id IN NUMBER,
904 p_batchtrxn_rec IN BatchTrxn_rec_type,
905 x_return_status OUT NOCOPY VARCHAR2,
906 x_msg_count OUT NOCOPY NUMBER,
907 x_msg_data OUT NOCOPY VARCHAR2,
908 x_qrybatchrespsum_rec OUT NOCOPY BatchRespSum_rec_type,
909 x_qrybatchrespdet_tbl OUT NOCOPY BatchRespDet_tbl_type
910 );
911
912 /*#
913 * Submits a credit card/purchase card authorization request. This API can
914 * also be used to transfer funds from a bank account (ACH payment requests).
915 *
916 * This API is available in overloaded form with risk related input parameters.
917 *
918 * @param p_api_version version of the API; use 1.0 by default
919 * @param p_init_msg_list required by API standard; use FND_API.G_FALSE by
920 * default
921 * @param p_commit commit not implemented in these APIs; use FND_API.G_FALSE
922 * by default
923 * @param p_validation_level validation level; use FND_API.G_VALID_LEVEL_FULL
924 * by default
925 * @param p_ecapp_id the product id of the calling application
926 * @param p_payee_rec entity that stores the attributes of the payee
927 * @param p_payer_rec entity that stores the attributes of the payer
928 * @param p_pmtinstr_rec entity that stores the attributes of the payment
929 * instrument. A payment instrument can be a credit card, purchase card
930 * or bank account
931 * @param p_tangible_rec entity that stores the attributes of an order or bill.
932 * The tangible identifier is used to identify a transaction, so it must be unique
933 * for a given payee.
934 * @param p_pmtreqtrxn_rec entity that stores the attributes of the
935 * authorization request. This entity is used in specifying whether
936 * authorization is online or offline, the type of the authorization
937 * (authonly or authcapture), etc...
938 * @param x_return_status indicates the return status of the procedure; 'S'
939 * indicates success, 'U' indicates an error
940 * @param x_msg_count holds the number of error messages in the message list
941 * @param x_msg_data contains the error messages
942 * @param x_reqresp_rec entity that stores the attrbutes of the authorization
943 * response
944 * @rep:scope public
945 * @rep:displayname Perform Credit Card Authorization or ACH Transfer
946 * @rep:category BUSINESS_ENTITY IBY_FUNDSCAPTURE_ORDER
947 */
948
949 --12. OraPmtReq (Overloaded: NO RISK PARAMETER)
950 PROCEDURE OraPmtReq ( p_api_version IN NUMBER,
951 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
952 p_commit IN VARCHAR2 := FND_API.G_FALSE,
953 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
954 p_ecapp_id IN NUMBER,
955 p_payee_rec IN Payee_rec_type,
956 p_payer_rec IN Payer_rec_type,
957 p_pmtinstr_rec IN PmtInstr_rec_type,
958 p_tangible_rec IN Tangible_rec_type,
959 p_pmtreqtrxn_rec IN PmtReqTrxn_rec_type,
960 x_return_status OUT NOCOPY VARCHAR2,
961 x_msg_count OUT NOCOPY NUMBER,
962 x_msg_data OUT NOCOPY VARCHAR2,
963 x_reqresp_rec OUT NOCOPY ReqResp_rec_type
964 );
965 --13. OraRiskEval ( PaymentRiskInfo ) With No AVS
966
967 PROCEDURE OraRiskEval ( p_api_version IN NUMBER,
968 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
969 p_commit IN VARCHAR2 := FND_API.G_FALSE,
970 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
971 p_ecapp_id IN NUMBER,
972 p_payment_risk_info IN PaymentRiskInfo_rec_type,
973 x_return_status OUT NOCOPY VARCHAR2,
974 x_msg_count OUT NOCOPY NUMBER,
975 x_msg_data OUT NOCOPY VARCHAR2,
976 x_risk_resp OUT NOCOPY RiskResp_rec_type
977 );
978
979 --14. OraRiskEval ( AVSRiskInfo ) With AVS; overloaded
980
981 PROCEDURE OraRiskEval ( p_api_version IN NUMBER,
982 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
983 p_commit IN VARCHAR2 := FND_API.G_FALSE,
984 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
985 p_ecapp_id IN NUMBER,
986 p_avs_risk_info IN AVSRiskInfo_rec_type,
987 x_return_status OUT NOCOPY VARCHAR2,
988 x_msg_count OUT NOCOPY NUMBER,
989 x_msg_data OUT NOCOPY VARCHAR2,
990 x_risk_resp OUT NOCOPY RiskResp_rec_type
991 );
992 --15. OraCCBatchCapture
993 PROCEDURE OraCCBatchCapture ( p_api_version IN NUMBER,
994 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
995 p_commit IN VARCHAR2 := FND_API.G_FALSE,
996 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
997 p_ecapp_id IN NUMBER,
998 p_capturetrxn_rec_tbl IN CaptureTrxn_tbl,
999 x_return_status OUT NOCOPY VARCHAR2,
1000 x_msg_count OUT NOCOPY NUMBER,
1001 x_msg_data OUT NOCOPY VARCHAR2,
1002 x_capresp_rec_tbl OUT NOCOPY CaptureResp_tbl
1003 );
1004
1005
1006 -- Secures a CVV value and returns the segment_ID.
1007 -- param p_commit commit not implemented in these APIs; use FND_API.G_FALSE
1008 -- by default
1009 -- param x_return_status indicates the return status of the procedure; 'S'
1010 -- indicates success, 'U' indicates an error
1011 -- param x_msg_count holds the number of error messages in the message list
1012 -- param x_msg_data contains the error messages
1013 -- param x_resp_rec entity that stores the attrbutes of the
1014 -- response
1015 -- scope: private
1016
1017 --16. OraSecureExtension
1018 PROCEDURE OraSecureExtension (p_commit IN VARCHAR2 := FND_API.G_FALSE,
1019 p_cvv IN VARCHAR2,
1020 x_return_status OUT NOCOPY VARCHAR2,
1021 x_msg_count OUT NOCOPY NUMBER,
1022 x_msg_data OUT NOCOPY VARCHAR2,
1023 x_resp_rec OUT NOCOPY SecureCVVResp_rec_type
1024 );
1025
1026 END IBY_PAYMENT_ADAPTER_PUB;