Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Abstract To
Document History Bo
R12/11i2: Understanding Payments Output Formatting, Extracts and Templates tto
Extracts and Templates m
Extracts
Templates
Importing a new custom template
Other Helpful Documents
Note on customizations
Community Discussions
Applies to:
Oracle Payments - Version: 11.5.10.2 to 12.1.3 - Release: 11.5 to 12.1
Information in this document applies to any platform.
Abstract
iPayment (Payments Funds Capture Portion) is an engine that translates EBS data
into 3rd Party Payment Systems (and Banks) data formats. Additionally it
handles transmission and several other tasks.
This document concentrates in the data formatting portion.
Before 11i IBY.Q patchset data formatting was handled by specialized Java classes
that step-by-step crafted the expected output for a given Payment System or Bank.
While this approach is still supported by the product (E.g: Paypal Servlet is a 3rd
party servlet that uses this old approach) from IBY.Q onwards iPayment
leveraged BI Publisher (Formerly known as XML Publisher) as the centralized
formatting engine eliminating the dependency on specialized classes and improving
maintainability and supportability of the product.
Document History
Author : The Oracle iPayment Global Support Team
Create Date 02-APR-2009
Update Date 02-APR-2009
R12/11i2: Understanding Payments Output Formatting, Extracts and Templates
Extracts and Templates
Two key concepts in the way iPayment formats data as per the requirements of 3rd
Party Payment Systems or Banks are Extracts and Templates.
Extracts and Templates work similarly to "mail merge" features of word processors.
Data is on one side, templates on another, the merge process results in several
documents with dynamic fields replaced in the template. In iPayment case the result
is a single document with one or several entity records.
BI Publisher (XDO) uses the same concept, Templates follow the same purpose and
Extracts are the datasource in XML format. For iPayment interface with XDO the
result is an e-Text document (plain text) as most of the Payment Systems and Banks
require.
Extract + Template = Formatted E-Text or XML Output
Extracts
Every time there is an online transaction or a batch transaction iPayment queries the
extract for the same. The extract is an XML document produced by a complex
hierarchy of database views that leverage the XML features of Oracle Server, the
view output is a fully formatted XML document.
For online transactions (Credit Card/Purchase Card Authorizations) the Extract
contains information for a single entity, whereas for batch transactions (Batch Close,
EFT Acct Xfer) the Extract contains information for as many entities (funds capture
instructions) as there are in the batch.
Extracts are gathered in package IBY_FNDCPT_EXTRACT_GEN_PVT
(ibyfcxgb.pls) procedure Create_Extract_1_0
Extract information (the first megabyte) was available in IBY Debug Log files up to
BatchEFTPayment.class version 120.41.12000000.7, on higher versions extract
information is no longer logged, however it can be obtained from the database as
described in Note:752802.1
The top level extract views are:
IBY_XML_BATCH_FCI_1_0_V: For batch extracts
IBY_XML_ONLINE_FCI_1_0_V: For online extracts
The view dependency hierarchy can be scanned with the following helper script (it
will not drill down other product views):
create or replace
procedure oss_iby_diag_explode_ev(pLevel number, pMv varchar2) is
cursor mvDepend is
select referenced_name, referenced_type
from dba_dependencies
where name = pMv
order by decode(referenced_type, 'TABLE', 1, 2);
begin
if pLevel = 0 then
dbms_output.put_line('. Dependencies and rows for: '||pMv);
end if;
for i in mvDepend loop
if i.referenced_type = 'VIEW' and i.referenced_name like 'IBY%' then
dbms_output.put_line('.'||lpad('+-',pLevel+2)||'>'||i.referenced_name||
' (VIEW)');
oss_iby_diag_explode_ev(pLevel + 2,i.referenced_name);
else
dbms_output.put_line('.'||lpad('+-',pLevel+2)||'>'||i.referenced_name||
' ('||i.referenced_type||')');
end if;
end loop;
end;
/
- </PaymentSystemAccount>
- <Payee>
<Name>[value]</Name>
</Payee>
<OrderCount>[value]</OrderCount>
- <AccountTotals>
- <AuthorizationsTotal>
<Value>[value]</Value>
- <Currency>
<Code>[value]</Code>
</Currency>
</AuthorizationsTotal>
- <CapturesTotal>
<Value>[value]</Value>
- <Currency>
<Code>[value]</Code>
</Currency>
</CapturesTotal>
- <CreditsTotal>
<Value>[value]</Value>
- <Currency>
<Code>[value]</Code>
</Currency>
</CreditsTotal>
</AccountTotals>
- <FundsCaptureOrder>
- <OrderSourceInfo>
<ApplicationInternalID>[value]</ApplicationInternalID>
<ApplicationName>[value]</ApplicationName>
</OrderSourceInfo>
- <OrderNumber>
<PayeeOrderNumber>[value]</PayeeOrderNumber>
</OrderNumber>
<PayeeBankAccount />
- <OrderAmount>
<Value>[value]</Value>
- <Currency>
<Code>[value]</Code>
</Currency>
</OrderAmount>
- <PayeeLegalEntity>
<PartyInternalID>[value]</PartyInternalID>
<PartyNumber>[value]</PartyNumber>
<Name>[value]</Name>
- <PartyType>
<Code>[value]</Code>
<Meaning>[value]</Meaning>
</PartyType>
<LegalEntityInternalID>[value]</LegalEntityInternalID>
<LegalEntityName>[value]</LegalEntityName>
- <Address>
<AddressInternalID>[value]</AddressInternalID>
<AddressLine1>[value]</AddressLine1>
<AddressLine2 />
<AddressLine3 />
<City>[value]</City>
<County />
<State>[value]</State>
<Country>[value]</Country>
<ISO3DigitCountry>[value]</ISO3DigitCountry>
<CountryName>[value]</CountryName>
<PostalCode>[value]</PostalCode>
<PreFormattedConcatenatedAddress>[value]</PreFormattedConcatenatedAddress>
<PreFormattedMailingAddress>[value]</PreFormattedMailingAddress>
<AddressName>[value]</AddressName>
</Address>
<TaxRegistrationNumber />
<LegalRegistrationNumber>[value]</LegalRegistrationNumber>
</PayeeLegalEntity>
<Payer>
<PartyInternalID>[value]</PartyInternalID>
<PartyNumber>[value]</PartyNumber>
<Name>[value]</Name>
- <PartyType>
<Code>[value]</Code>
<Meaning>[value]</Meaning>
</PartyType>
<TaxRegistrationNumber />
<LegalRegistrationNumber />
<AlternateName />
<CustomerAccountNumber>[value]</CustomerAccountNumber>
- <Address>
<AddressInternalID>[value]</AddressInternalID>
<AddressLine1>[value]</AddressLine1>
<AddressLine2>[value]</AddressLine2>
<AddressLine3 />
<City>[value]</City>
<County />
<State />
<Country>[value]</Country>
<CountryName>[value]</CountryName>
<ISO3DigitCountry>[value]</ISO3DigitCountry>
<PostalCode>[value]</PostalCode>
<AlternateAddressName />
</Address>
<FirstPartyReference>[value]</FirstPartyReference>
</Payer>
<PayerCreditCard>
<CardNumber>[value]</CardNumber>
<MaskedCardNumber>[value]</MaskedCardNumber>
<CardExpiration>[value]</CardExpiration>
<CardIssuer>[value]</CardIssuer>
- <CardHolder>
<HolderName>[value]</HolderName>
- <BillingAddress>
<AddressLine1>[value]</AddressLine1>
<AddressLine2>[value]</AddressLine2>
<City>[value]</City>
<State />
<Country>[value]</Country>
<CountryName>[value]</CountryName>
<ISO3DigitCountry>[value]</ISO3DigitCountry>
<PostalCode>[value]</PostalCode>
<PreFormattedConcatenatedAddress>[value]</PreFormattedConcatenatedAddress>
<PreFormattedMailingAddress>[value]</PreFormattedMailingAddress>
<AddressName />
</BillingAddress>
</CardHolder>
</PayerCreditCard>
[There can be more CC records]-
<CreditCardTransaction>
<ActionType>CAPTURE</ActionType>
<TransactionDate>[value]</TransactionDate>
<VoiceAuthFlag>[value]</VoiceAuthFlag>
</CreditCardTransaction>
<OriginalCCTransaction>
<ActionType>AUTH</ActionType>
<TransactionDate>[value]</TransactionDate>
<TraceNumber>[value]</TraceNumber>
<AuthCode>[value]</AuthCode>
<VoiceAuthFlag>[value]</VoiceAuthFlag>
<Amount>
<Value>[value]</Value>
- <Currency>
<Code>[value]</Code>
</Currency>
</Amount>
</OriginalCCTransaction>
<PaymentMethod>
<PaymentMethodInternalID>[value]</PaymentMethodInternalID>
<PaymentMethodName>[value]</PaymentMethodName>
<PaymentMethodFormatValue />
</PaymentMethod>
<DocumentReceivable>
<DocumentID>[value]</DocumentID>
<DocumentStatus>
<Code />
<Meaning />
</DocumentStatus>
<DocumentDate>[value]</DocumentDate>
<DocumentCreationDate>[value]</DocumentCreationDate>
<DocumentType>
<Code>[value]</Code>
<Meaning />
</DocumentType>
<DocumentDescription />
<TotalDocumentAmount>
<Value>[value]</Value>
<Currency>
<Code>[value]</Code>
</Currency>
</TotalDocumentAmount>
<PaymentAmount>
<Value>[value]</Value>
<Currency>
<Code>[value]</Code>
</Currency>
</PaymentAmount>
<Charge>
<Amount>
<Value />
<Currency>
<Code>[value]</Code>
</Currency>
</Amount>
<ChargeType>[value]</ChargeType>
</Charge>
- <Discount>
<Amount>
<Value>[value]</Value>
<Currency>
<Code>[value]</Code>
</Currency>
</Amount>
</Discount>
[More discount records may exist]
<Tax>
<Amount>
<Value />
<Currency>
<Code>[value]</Code>
</Currency>
</Amount>
<RatePercent />
<TaxType>[value]</TaxType>
</Tax>
- <ShipmentOrigin>
<AddressLine1 />
<City />
<State />
<Country />
<PostalCode />
</ShipmentOrigin>
<ShipmentDestination>
<AddressLine1 />
<City />
<State />
<Country />
<PostalCode />
</ShipmentDestination>
</DocumentLine>
</DocumentReceivable>
<DocumentReceivableCount>[value]</DocumentReceivableCount>
</FundsCaptureOrder>
</PayeeAccount>
</FundsCaptureInstruction>
Templates
Most formatting templates for iPayment are RTF (rich text format) documents that
conform to BI Publisher template syntax (For more information please consult BI
Publisher product documentation).
The structure of the template is relatively simple to understand by opening it in MS
Word or any other RTF text editor. BI Publisher will scan for keywords between
<keyword> within a table and lookup the value within the same table. E.g:
<TEMPLATE TYPE> FIXED_POSITION_BASED
<CHARACTER SET> ISO-8859-1
<NEW RECORD
Carriage Return
CHARACTER>
Sets general options for the template.
There exists a helper application to assist on template design/edit: BI (XML)
Publisher Desktop, this application will interact with MS Word, to download click
here.
The template is arranged in a hierachy of records. Each record mapping to a given
level in the Extract XML hierarch. E.g:
Open $IBY_TOP/patch/115/publisher/templates/IBY_PTK_B_2_1_en.rtf
This is the Paymentech Batch Template
It contains the following hierarchy of records:
<LEVEL> FundsCaptureInstruction
<PO <COM
<LEN <FOR <PA
SITI <DATA> MENTS
GTH> MAT> D>
ON> >
<NEW FileHeaderRec
RECORD>
1 4 Alpha R, ‘PID=’ Presente
‘ r’s
‘ ID (PID)
5 6 Alpha R, / Presente
‘ FundsCaptureInstruction/PayeeAccount/Paymer’s
‘ ntSystemAccount/AccountOption[Name=’ ID (PID)
PID’]/Value
Note on customizations
While this document provides guidance for the creation of customizations, Oracle
Global Customer Support (GCS) does not support customizations. However GCS
supports the tools and the vanilla portions of the application. As such BI (XML)
Publisher output generation is supported provided the template is well constructed
and the expected data exists in the extract. The iPayment extract is supported if not
providing the expected data however the sample data depicted in this document does
not state a commitment from Oracle Payments Development to continue to be the
same neither that desired data will be included upon request. The iPayment engine
and setups screens are supported by the Global iPayment Support team.
In General the Global iPayment Support Team will request a vanilla setup with
known to work templates to be done at your instance in order to determine if the
source of failure is the vanilla product or the customizations. The Global iPayment
Support Team will not support an installation using customized extract views unless
the failure is proven to exist with the vanilla views
[ID 799597.1]
Comments
Modified:Feb 2, 2012 Type:WHITE PAPER
(0)
Status:PUBLISHED Priority:3
In this Document
Abstract
Document History
R12/11i2: Understanding Payments Output Formatting, Extracts and Templates
Extracts and Templates
Extracts
Templates
Importing a new custom template
Other Helpful Documents
Note on customizations
Community Discussions
Applies to:
Oracle Payments - Version: 11.5.10.2 to 12.1.3 - Release: 11.5 to 12.1
Information in this document applies to any platform.
Abstract
iPayment (Payments Funds Capture Portion) is an engine that translates EBS data into
3rd Party Payment Systems (and Banks) data formats. Additionally it
handles transmission and several other tasks.
This document concentrates in the data formatting portion.
Before 11i IBY.Q patchset data formatting was handled by specialized Java classes that
step-by-step crafted the expected output for a given Payment System or Bank.
While this approach is still supported by the product (E.g: Paypal Servlet is a 3rd party
servlet that uses this old approach) from IBY.Q onwards iPayment leveraged BI
Publisher (Formerly known as XML Publisher) as the centralized formatting engine
eliminating the dependency on specialized classes and improving maintainability and
supportability of the product.
Document History
Author : The Oracle iPayment Global Support Team
Create Date 02-APR-2009
Update Date 02-APR-2009
R12/11i2: Understanding Payments Output Formatting, Extracts and Templates
Extracts and Templates
Two key concepts in the way iPayment formats data as per the requirements of 3rd Party
Payment Systems or Banks are Extracts and Templates.
Extracts and Templates work similarly to "mail merge" features of word processors. Data
is on one side, templates on another, the merge process results in several documents with
dynamic fields replaced in the template. In iPayment case the result is a single document
with one or several entity records.
BI Publisher (XDO) uses the same concept, Templates follow the same purpose and
Extracts are the datasource in XML format. For iPayment interface with XDO the result
is an e-Text document (plain text) as most of the Payment Systems and Banks require.
Extract + Template = Formatted E-Text or XML Output
Extracts
Every time there is an online transaction or a batch transaction iPayment queries the
extract for the same. The extract is an XML document produced by a complex hierarchy
of database views that leverage the XML features of Oracle Server, the view output is a
fully formatted XML document.
For online transactions (Credit Card/Purchase Card Authorizations) the Extract contains
information for a single entity, whereas for batch transactions (Batch Close, EFT Acct
Xfer) the Extract contains information for as many entities (funds capture instructions) as
there are in the batch.
Extracts are gathered in package IBY_FNDCPT_EXTRACT_GEN_PVT (ibyfcxgb.pls)
procedure Create_Extract_1_0
Extract information (the first megabyte) was available in IBY Debug Log files up to
BatchEFTPayment.class version 120.41.12000000.7, on higher versions extract
information is no longer logged, however it can be obtained from the database as
described in Note:752802.1
The top level extract views are:
IBY_XML_BATCH_FCI_1_0_V: For batch extracts
IBY_XML_ONLINE_FCI_1_0_V: For online extracts
The view dependency hierarchy can be scanned with the following helper script (it will
not drill down other product views):
create or replace
procedure oss_iby_diag_explode_ev(pLevel number, pMv varchar2) is
cursor mvDepend is
select referenced_name, referenced_type
from dba_dependencies
where name = pMv
order by decode(referenced_type, 'TABLE', 1, 2);
begin
if pLevel = 0 then
dbms_output.put_line('. Dependencies and rows for: '||pMv);
end if;
for i in mvDepend loop
if i.referenced_type = 'VIEW' and i.referenced_name like 'IBY%' then
dbms_output.put_line('.'||lpad('+-',pLevel+2)||'>'||i.referenced_name||
' (VIEW)');
oss_iby_diag_explode_ev(pLevel + 2,i.referenced_name);
else
dbms_output.put_line('.'||lpad('+-',pLevel+2)||'>'||i.referenced_name||
' ('||i.referenced_type||')');
end if;
end loop;
end;
/
SQL>set serveroutput on size 1000000
SQL>exec oss_iby_diag_explode_ev(0,'IBY_XML_BATCH_FCI_1_0_V');
It will show the current hierarchy of dependencies for the top level view, e.g:
. Dependencies and rows for: IBY_XML_BATCH_FCI_1_0_V
.+->AGGXMLIMP (TYPE)
.+->IBY_TRXN_SUMMARIES_ALL (SYNONYM)
.+->XMLAGG (SYNONYM)
.+->XMLCONCAT (NON-EXISTENT)
.+->IBY_XML_FC_PRBA_1_0_V (VIEW)
. +->XMLTYPE (TYPE)
. +->XMLCONCAT (NON-EXISTENT)
. +->IBY_EXT_FD_PRBA_1_0_V (VIEW)
. +->IBY_FD_EXTRACT_GEN_PVT (PACKAGE)
. +->CE_BANK_BRANCHES_V (VIEW)
. +->IBY_UTILITY_PVT (PACKAGE)
[...]
The Extract views produce when queried (See Note:752802.1) an XML document
containing all details for the Auth Request or all details for each line in a Batch.
As Payment System requirements change, Extracts views change as well (if needed). At
the time of writing this document Extract hierarchy for Batch is
Batch Extract Sample
- <FundsCaptureInstruction>
- <InstructionInfo>
<InstructionInternalID>[value]</InstructionInternalID>
<InstructionName>[value]</InstructionName>
<InstructionCreationDate>[value]</InstructionCreationDate>
<InstructionSentDate>[value]</InstructionSentDate>
- <InstructionStatus>
<Code>[value]</Code>
<Meaning />
</InstructionStatus>
</InstructionInfo>
- <InstructionSequence>
<SequenceName>[value]</SequenceName>
<LastValue>[value]</LastValue>
</InstructionSequence>
- <InstructionTotals>
<PayeeAccountCount>[value]</PayeeAccountCount>
- <SettlementTotal>
<Value>[value]</Value>
- <Currency>
<Code />
</Currency>
</SettlementTotal>
</InstructionTotals>
<InstructionGrouping />
- <PayeeAccount>
- <PaymentSystemAccount>
<AccountName>[value]</AccountName>
- <AccountOption>
<Name>[value]</Name>
<Value>[value]</Value>
</AccountOption>
- </PaymentSystemAccount>
- <Payee>
<Name>[value]</Name>
</Payee>
<OrderCount>[value]</OrderCount>
- <AccountTotals>
- <AuthorizationsTotal>
<Value>[value]</Value>
- <Currency>
<Code>[value]</Code>
</Currency>
</AuthorizationsTotal>
- <CapturesTotal>
<Value>[value]</Value>
- <Currency>
<Code>[value]</Code>
</Currency>
</CapturesTotal>
- <CreditsTotal>
<Value>[value]</Value>
- <Currency>
<Code>[value]</Code>
</Currency>
</CreditsTotal>
</AccountTotals>
- <FundsCaptureOrder>
- <OrderSourceInfo>
<ApplicationInternalID>[value]</ApplicationInternalID>
<ApplicationName>[value]</ApplicationName>
</OrderSourceInfo>
- <OrderNumber>
<PayeeOrderNumber>[value]</PayeeOrderNumber>
</OrderNumber>
<PayeeBankAccount />
- <OrderAmount>
<Value>[value]</Value>
- <Currency>
<Code>[value]</Code>
</Currency>
</OrderAmount>
- <PayeeLegalEntity>
<PartyInternalID>[value]</PartyInternalID>
<PartyNumber>[value]</PartyNumber>
<Name>[value]</Name>
- <PartyType>
<Code>[value]</Code>
<Meaning>[value]</Meaning>
</PartyType>
<LegalEntityInternalID>[value]</LegalEntityInternalID>
<LegalEntityName>[value]</LegalEntityName>
- <Address>
<AddressInternalID>[value]</AddressInternalID>
<AddressLine1>[value]</AddressLine1>
<AddressLine2 />
<AddressLine3 />
<City>[value]</City>
<County />
<State>[value]</State>
<Country>[value]</Country>
<ISO3DigitCountry>[value]</ISO3DigitCountry>
<CountryName>[value]</CountryName>
<PostalCode>[value]</PostalCode>
<PreFormattedConcatenatedAddress>[value]</PreFormattedConcatenatedAddress>
<PreFormattedMailingAddress>[value]</PreFormattedMailingAddress>
<AddressName>[value]</AddressName>
</Address>
<TaxRegistrationNumber />
<LegalRegistrationNumber>[value]</LegalRegistrationNumber>
</PayeeLegalEntity>
<Payer>
<PartyInternalID>[value]</PartyInternalID>
<PartyNumber>[value]</PartyNumber>
<Name>[value]</Name>
- <PartyType>
<Code>[value]</Code>
<Meaning>[value]</Meaning>
</PartyType>
<TaxRegistrationNumber />
<LegalRegistrationNumber />
<AlternateName />
<CustomerAccountNumber>[value]</CustomerAccountNumber>
- <Address>
<AddressInternalID>[value]</AddressInternalID>
<AddressLine1>[value]</AddressLine1>
<AddressLine2>[value]</AddressLine2>
<AddressLine3 />
<City>[value]</City>
<County />
<State />
<Country>[value]</Country>
<CountryName>[value]</CountryName>
<ISO3DigitCountry>[value]</ISO3DigitCountry>
<PostalCode>[value]</PostalCode>
<AlternateAddressName />
</Address>
<FirstPartyReference>[value]</FirstPartyReference>
</Payer>
<PayerCreditCard>
<CardNumber>[value]</CardNumber>
<MaskedCardNumber>[value]</MaskedCardNumber>
<CardExpiration>[value]</CardExpiration>
<CardIssuer>[value]</CardIssuer>
- <CardHolder>
<HolderName>[value]</HolderName>
- <BillingAddress>
<AddressLine1>[value]</AddressLine1>
<AddressLine2>[value]</AddressLine2>
<City>[value]</City>
<State />
<Country>[value]</Country>
<CountryName>[value]</CountryName>
<ISO3DigitCountry>[value]</ISO3DigitCountry>
<PostalCode>[value]</PostalCode>
<PreFormattedConcatenatedAddress>[value]</PreFormattedConcatenatedAddress>
<PreFormattedMailingAddress>[value]</PreFormattedMailingAddress>
<AddressName />
</BillingAddress>
</CardHolder>
</PayerCreditCard>
[There can be more CC records]-
<CreditCardTransaction>
<ActionType>CAPTURE</ActionType>
<TransactionDate>[value]</TransactionDate>
<VoiceAuthFlag>[value]</VoiceAuthFlag>
</CreditCardTransaction>
<OriginalCCTransaction>
<ActionType>AUTH</ActionType>
<TransactionDate>[value]</TransactionDate>
<TraceNumber>[value]</TraceNumber>
<AuthCode>[value]</AuthCode>
<VoiceAuthFlag>[value]</VoiceAuthFlag>
<Amount>
<Value>[value]</Value>
- <Currency>
<Code>[value]</Code>
</Currency>
</Amount>
</OriginalCCTransaction>
<PaymentMethod>
<PaymentMethodInternalID>[value]</PaymentMethodInternalID>
<PaymentMethodName>[value]</PaymentMethodName>
<PaymentMethodFormatValue />
</PaymentMethod>
<DocumentReceivable>
<DocumentID>[value]</DocumentID>
<DocumentStatus>
<Code />
<Meaning />
</DocumentStatus>
<DocumentDate>[value]</DocumentDate>
<DocumentCreationDate>[value]</DocumentCreationDate>
<DocumentType>
<Code>[value]</Code>
<Meaning />
</DocumentType>
<DocumentDescription />
<TotalDocumentAmount>
<Value>[value]</Value>
<Currency>
<Code>[value]</Code>
</Currency>
</TotalDocumentAmount>
<PaymentAmount>
<Value>[value]</Value>
<Currency>
<Code>[value]</Code>
</Currency>
</PaymentAmount>
<Charge>
<Amount>
<Value />
<Currency>
<Code>[value]</Code>
</Currency>
</Amount>
<ChargeType>[value]</ChargeType>
</Charge>
- <Discount>
<Amount>
<Value>[value]</Value>
<Currency>
<Code>[value]</Code>
</Currency>
</Amount>
</Discount>
[More discount records may exist]
<Tax>
<Amount>
<Value />
<Currency>
<Code>[value]</Code>
</Currency>
</Amount>
<RatePercent />
<TaxType>[value]</TaxType>
</Tax>
- <ShipmentOrigin>
<AddressLine1 />
<City />
<State />
<Country />
<PostalCode />
</ShipmentOrigin>
<ShipmentDestination>
<AddressLine1 />
<City />
<State />
<Country />
<PostalCode />
</ShipmentDestination>
- <DocumentLine>
<LineID>[value]</LineID>
<LineNumber>[value]</LineNumber>
- <LineType>
<Code>[value]</Code>
<Meaning />
</LineType>
<LineDescription>[value]</LineDescription>
- <LineAmount>
<Value>[value]</Value>
- <Currency>
<Code>[value]</Code>
</Currency>
</LineAmount>
<UnitRate>[value]</UnitRate>
<Quantity>[value]</Quantity>
<UnitOfMeasure>[value]</UnitOfMeasure>
<ProductCode>[value]</ProductCode>
<Tax>
- <Amount>
<Value>[value]</Value>
- <Currency>
<Code>USD</Code>
</Currency>
</Amount>
<RatePercent>[value]</RatePercent>
<TaxType>[value]</TaxType>
</Tax>
</DocumentLine>
</DocumentReceivable>
<DocumentReceivableCount>[value]</DocumentReceivableCount>
</FundsCaptureOrder>
</PayeeAccount>
</FundsCaptureInstruction>
Templates
Most formatting templates for iPayment are RTF (rich text format) documents that
conform to BI Publisher template syntax (For more information please consult BI
Publisher product documentation).
The structure of the template is relatively simple to understand by opening it in MS Word
or any other RTF text editor. BI Publisher will scan for keywords between <keyword>
within a table and lookup the value within the same table. E.g:
<TEMPLATE TYPE> FIXED_POSITION_BASED
<CHARACTER SET> ISO-8859-1
<NEW RECORD
Carriage Return
CHARACTER>
Sets general options for the template.
There exists a helper application to assist on template design/edit: BI (XML) Publisher
Desktop, this application will interact with MS Word, to download click here.
The template is arranged in a hierachy of records. Each record mapping to a given level
in the Extract XML hierarch. E.g:
Open $IBY_TOP/patch/115/publisher/templates/IBY_PTK_B_2_1_en.rtf
This is the Paymentech Batch Template
It contains the following hierarchy of records:
<LEVEL> FundsCaptureInstruction
<POS
<LEN <FOR <PA <COMM
ITIO <DATA>
GTH> MAT> D> ENTS>
N>
<NEW FileHeaderRec
RECORD>
1 4 Alpha R, ‘PID=’ Presenter
‘ ’s ID
‘ (PID)
5 6 Alpha R, / Presenter
‘ FundsCaptureInstruction/PayeeAccount/PaymentSy ’s ID
‘ stemAccount/AccountOption[Name=’PID’] (PID)
/Value
Note on customizations
While this document provides guidance for the creation of customizations, Oracle Global
Customer Support (GCS) does not support customizations. However GCS supports the
tools and the vanilla portions of the application. As such BI (XML) Publisher output
generation is supported provided the template is well constructed and the expected data
exists in the extract. The iPayment extract is supported if not providing the expected data
however the sample data depicted in this document does not state a commitment from
Oracle Payments Development to continue to be the same neither that desired data will be
included upon request. The iPayment engine and setups screens are supported by the
Global iPayment Support team.
In General the Global iPayment Support Team will request a vanilla setup with known to
work templates to be done at your instance in order to determine if the source of failure is
the vanilla product or the customizations. The Global iPayment Support Team will not
support an installation using customized extract views unless the failure is proven to exist
with the vanilla views