Profilo Cassiere per la cassetta per SET - MIA con i dati della scheda di acquisto (Business Edition)

Il seguente codice XML è il profilo Cassiere standard fornito in WebSphere Commerce da utilizzare con la cassetta per SET. Questo profilo Cassiere utilizza l'estensione SET MIA (Merchant Initiated Authorization) e specifica alcuni dati facoltativi della scheda acquisti supportati dalla cassetta. Il metodo della scheda di acquisto viene utilizzato per inviare i dati di tale scheda all'acquirente. Per ulteriori informazioni sulle schede di acquisto, consultare IBM WebSphere Payment Manager for Multiplatforms, Cassette for SET Supplement, Versione 3.1.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Profile SYSTEM "../../../../xml/PaymentManager/profile.dtd">

<!--
//*==================================================================
//* Materiale su licenza - Proprietà della IBM
//*
//* 5724-A18
//*
//* (c) Copyright IBM Corp. 2001
//*
//* Limitazioni previste per gli utenti degli Stati Uniti - L'utilizzo, la riproduzione o
//* la divulgazione sono regolati dal Contratto GSA ADP con l'IBM Corp.
//*
//*================================================================== -->

<!-- ==================================================================
Questo è il profilo Cassiere standard WebSphere Commerce per Payment Manager 
Cassetta per SET (per Merchant Initiated Authorization)

Questo profilo specifica i dati della scheda di acquisti supportata dalla cassetta.

Nota: Se si modifica il parametro DEPOSITFLAG del profilo su "1" è necessario spostare 
i parametri $PCARD.* nell'elemento <CollectPayment> del profilo.
================================================================== -->

<Profile useWallet="false" enableTrace="true" >

<!-- Si verificano le seguenti restrizioni:
1) La cassetta supporta soltanto valori interi nella colonna QUANTITY. Le parti decimali vengono eliminate.
2) OrderItems.CatEntry_id non deve essere nullo e le voci CatEntShip e CatEntDesc per CatEntry_id 
devono esistere con CatEntDesc.SHORTDESCRIPTION non nullo per il language_id specificato.
3) Le colonne TAXAMOUNT, SHIPCHARGE e SHIPTAXAMOUNT di OrderItems non devono essere nulle. 
-->
<!-- Note relative alle 2 seguenti SelectStatement.
* AZIONE OBBLIGATORIA PER L'UTENTE ORACLE *

Top SelectStatement è per DB2,
Buttom SelectStatement è per Oracle.

Se l'esecuzione è con ORACLE, non commentare la seconda SelectStatement,
commentare invece la prima SelectStatement.
-->
<SelectStatement id="1" allowMultiples="true" >
SELECT PARTNUMBER, SHORTDESCRIPTION, integer(QUANTITY) as INT_QUANTITY, RTRIM(QUANTITYMEASURE) as QTYMEASURE, integer(PRICE*{currency_factor}) as UNITCOST,
integer( (TOTALPRODUCT+TAXAMOUNT+SHIPCHARGE+SHIPTAXAMOUNT+TOTALADJUSTMENT) * {currency_factor}) as TOTALCOST
FROM orderitems, catentry, catentship, catentdesc
WHERE orders_id = {orderId} 
AND orderitems.catentry_id = catentry.catentry_id
AND orderitems.catentry_id = catentship.catentry_id
AND orderitems.catentry_id = catentdesc.catentry_id
AND catentdesc.language_id = {buyer_language_id}
</SelectStatement>
<!--
<SelectStatement id="1" allowMultiples="true" >
SELECT PARTNUMBER, SHORTDESCRIPTION, round(QUANTITY) as INT_QUANTITY, RTRIM(QUANTITYMEASURE) as QTYMEASURE, round(PRICE*{currency_factor}) as UNITCOST,
round( (TOTALPRODUCT+TAXAMOUNT+SHIPCHARGE+SHIPTAXAMOUNT+TOTALADJUSTMENT) * {currency_factor}) as TOTALCOST
FROM orderitems, catentry, catentship, catentdesc
WHERE orders_id = {orderId} 
AND orderitems.catentry_id = catentry.catentry_id
AND orderitems.catentry_id = catentship.catentry_id
AND orderitems.catentry_id = catentdesc.catentry_id
AND catentdesc.language_id = {buyer_language_id}
</SelectStatement>
-->


<CollectPayment>

<!-- ==================================================================
Parametri richiesti da Payment Manager per la creazione degli ordini
================================================================== -->
<Parameter name="PAYMENTTYPE"><CharacterText>SET</CharacterText></Parameter>
<Parameter name="MERCHANTNUMBER"><CharacterText>{storeId}</CharacterText></Parameter>
<Parameter name="ORDERNUMBER"><CharacterText>{orderId}</CharacterText></Parameter>
<Parameter name="CURRENCY"><CharacterText>{CURRENCY}</CharacterText></Parameter>
<Parameter name="AMOUNT"><CharacterText>{AMOUNT}</CharacterText></Parameter>
<Parameter name="AMOUNTEXP10"><CharacterText>{AMOUNTEXP10}</CharacterText></Parameter>



<!-- Indica come deve essere tentata l'approvazione automatica dell'ordine
I valori supportati sono: 
0 - nessuna approvazione automatica
1 - approvazione automatica sincrona - Payment Manager tenta l'approvazione come
parte dell'operazione di creazione degli ordini
2 - approvazione automatica asincrona - Payment Manager pianifica un'operazione di approvazione
dopo la creazione dell'ordine

WCS funziona meglio con APPROVEFLAG impostato su 2. Quando APPROVEFLAG è impostato su 1, il comando WCS 
DoPayment viene bloccato fino a quando Payment Manager non completa l'approvazione dell'ordine. 
Fino al completamento dell'approvazione, qualsiasi comando per la lettura/aggiornamento degli stessi record di inventario 
modificati dal comando DoPayment verrà bloccato. Questo compromette la velocità di trasmissione
degli altri comandi.
-->
<Parameter name="APPROVEFLAG"><CharacterText>2</CharacterText></Parameter>

<!-- La quantità che deve essere utilizzata quando si approva un ordine. In genere
corrisponde alla quantità dell'ordine. Questo campo è obbligatorio
se APPROVEFLAG è impostato su 1 o 2. -->
<Parameter name="PAYMENTAMOUNT"><CharacterText>{approval_amount}</CharacterText></Parameter>

<!-- Il numero di pagamento da utilizzare quando si approva un ordine.
Solitamente è 1. Questo campo è obbligatorio se APPROVEFLAG
è impostato su 1 o 2. -->
<Parameter name="PAYMENTNUMBER"><CharacterText>1</CharacterText></Parameter>

<!-- Indica se il deposito deve essere tentato automaticamente. 
Questo flag è valido solo se APPROVEFLAG è impostati su 1 o 2.
I valori supportati sono:
0 - I fondi non devono essere depositati automaticamente. 
1 - I fondi devono essere depositati automaticamente. 
Il valore predefinito è 0.

Nota: Se si modifica il parametro DEPOSITFLAG su "1" è necessario spostare 
tutti i parametri facoltativi dei dati della scheda di acquisto dall'elemento <Command name="DEPOSIT">
all'elemento <CollectPayment> per i parametri da inviare.
-->
<Parameter name="DEPOSITFLAG"><CharacterText></CharacterText></Parameter>

<!-- I seguenti due parametri sono facoltativi. Entrambi possono essere utilizzati per trasferire il 
numero dell'ordine di acquisto dell'acquirente a Payment Manager. Il primo parametro richiede soltanto 
testo ASCII. Se il numero di ordine dell'acquirente sul sistema contiene delle 
stringhe non ASCII, utilizzare il parametro ORDERDATA2. 
-->
<Parameter name="TRANSACTIONID" maxBytes="128" encoding="ASCII"><CharacterText>{PONumber}</CharacterText></Parameter>
<Parameter name="ORDERDATA2"><CharacterText></CharacterText></Parameter>


<!-- ==================================================================
Parametri richiesti dalla cassetta
================================================================== -->

<Parameter name="$PAN" sensitive="true"><CharacterText>{card_number}</CharacterText></Parameter>
<Parameter name="$BRAND"><CharacterText>{cardBrand}</CharacterText></Parameter>

<!-- Data di scadenza del formato AAAAMM -->
<Parameter name="$EXPIRY"><CharacterText>{card_expiry}</CharacterText></Parameter>



<!-- Utilizzato per specificare il valore del campo TransMethod passato nell'estensione MIA 
(Merchant Initiated Authorization). L'estensione WCS 
specifica uno dei due valori dipendenti dal protocollo utilizzato.
0 (MIA_channelEncryption - se è stato utilizzato HTTPS)
1 (MIA_unencryptedWWW - se è stato utilizzato HTTP) 
--> 
<Parameter name="$TRANSMETHOD">
<ExtensionValue name="com.ibm.commerce.payment.extensions.GenericExtension" />
</Parameter>


<!-- L'attributo di codifica indica al Cassiere che i byte per 
OrderDescription possono essere rilevati dalla stringa restituita mediante la codifica dei caratteri 8859_1 
in quanto questo è il metodo di codifica della classe GenericExtension 
dei byte. I byte risultanti sono nella lingua del richiedente. -->
<Parameter name="$ORDERDESCRIPTION" encoding="8859_1" >
<ExtensionValue name="com.ibm.commerce.payment.extensions.GenericExtension" />
</Parameter>

<!-- ==================================================================
Parametri facoltativi per la cassetta
================================================================== -->

<!-- L'indirizzo del titolare della carta. Da 1 a 128 caratteri ASCII. -->
<Parameter name="$AVS.STREETADDRESS" maxBytes="128" encoding="ASCII"><CharacterText>{billto_address1}</CharacterText></Parameter>

<!-- La città del titolare della carta. Da 1 a 50 caratteri ASCII. -->
<Parameter name="$AVS.CITY" maxBytes="50" encoding="ASCII"><CharacterText>{billto_city}</CharacterText></Parameter>

<!-- Lo stato o la provincia del titolare della carta. Da 1 a 50 caratteri ASCII. -->
<Parameter name="$AVS.STATEPROVINCE" maxBytes="50" encoding="ASCII"><CharacterText>{billto_state}</CharacterText></Parameter>

<!-- Il codice postale del titolare della carta . Da 1 a 14 caratteri ASCII. -->
<Parameter name="$AVS.POSTALCODE" maxBytes="14" encoding="ASCII"><CharacterText>{billto_zipcode}</CharacterText></Parameter>

<!-- Il codice di paese ISO 3166 del titolare della carta (3 cifre). Questo campo è
necessario se vengono trasferiti altri dati AVS. -->
<Parameter name="$AVS.COUNTRYCODE"><CharacterText>{billto_country_code}</CharacterText></Parameter>

<!-- Un identificativo che il venditore utilizza per specificare una delle sue posizioni. 
Il valore è specificato come una stringa. Da 1 a 10 caratteri ASCII. -->
<Parameter name="$AVS.LOCATIONID" maxBytes="10" encoding="ASCII"><CharacterText></CharacterText></Parameter>



<!-- Alcune schede di pagamento vengono rilasciate con un codice di verifica. Il codice di verifica
viene generato dalla banca rilasciante e può essere verificato dalla banca. 
Il numero di conto seguito dal codice di verifica di tre o quattro cifre 
viene stampato sul pannello di firma della scheda. Il valore deve essere una stringa numerica di 3 o 4 
. Valori di esempio: 1234 o 321. -->
<Parameter name="$CARDVERIFYCODE"><CharacterText>{cardVerificationCode}</CharacterText></Parameter>

<!-- Indica il tipo di contenuto e il set di caratteri del parametro $ORDERDESCRIPTION 
. -->
<Parameter name="$CHARSET"><CharacterText></CharacterText></Parameter> 

<!-- Uno dei due campi della struttura merchData; quando viene specificato, la 
cassetta lo utilizza. Il valore deve essere una stringa numerica di 4 caratteri. 
Nota: Il requisito per utilizzare questo campo deriva dall'acquirente. -->
<Parameter name="$MERCHCATCODE"><CharacterText></CharacterText></Parameter> 

<!-- Uno dei due campi della struttura merchData; quando viene specificato, 
la cassetta lo utilizza. Il valore deve essere una stringa numerica tra 
"1" e "8". Le semantiche per i possibili valori sono descritte nella specifica SET
. Nota: Il requisito per utilizzare questo campo deriva 
dall'acquirente. -->
<Parameter name="$MERCHGROUP"><CharacterText></CharacterText></Parameter> 

<!-- Il campo MerOrderNum è la struttura SaleDetail dei messaggi CapReq e 
AuthReq (con cattura). Il valore deve essere una stringa di caratteri 
con una lunghezza massima di 24 caratteri. -->
<Parameter name="$MERORDERNUM"><CharacterText></CharacterText></Parameter> 

<!-- Indica se un venditore può approvare le spedizioni aggiuntive. 
I valori supportati sono: 
0-Indica che questo è il pagamento finale per l'ordine.
1-Indica che il venditore può approvare i pagamenti suddivisi aggiuntivi 
per l'ordine. -->
<Parameter name="$SPLITALLOWED"><CharacterText>0</CharacterText></Parameter> 

</CollectPayment>



<Command name="DEPOSIT">
<!-- ==================================================================
Parametri richiesti da Payment Manager per il comando DEPOSIT
================================================================== -->
<Parameter name="MERCHANTNUMBER"><CharacterText>{storeId}</CharacterText></Parameter>
<Parameter name="ORDERNUMBER"><CharacterText>{orderId}</CharacterText></Parameter>
<Parameter name="PAYMENTNUMBER"><CharacterText>{payment_number}</CharacterText></Parameter>
<Parameter name="AMOUNT"><CharacterText>{AMOUNT}</CharacterText></Parameter>

<!-- ==================================================================
Parametri facoltativi per i dati della scheda di acquisti 
================================================================== -->
<Parameter name="$PCARD.TOTALTAXAMOUNT"><CharacterText>{total_tax_amount}</CharacterText></Parameter>
<Parameter name="$PCARD.SHIPPINGAMOUNT"><CharacterText>{total_shipping_amount}</CharacterText></Parameter>

<Parameter name="$PCARD.MERCHANTORDERNUMBER"><CharacterText>{orderId}</CharacterText></Parameter>
<Parameter name="$PCARD.CUSTOMERREFERENCENUMBER"><CharacterText></CharacterText></Parameter>

<!-- Di seguito sono riportate le restrizioni per il funzionamento di SelectStatement -->
<Parameter name="$ITEM.PRODUCTCODE" maxBytes="12" encoding="UTF8">
<DatabaseValue statementID="1" columnName="PARTNUMBER" />
</Parameter>
<Parameter name="$ITEM.DESCRIPTOR" maxBytes="35" encoding="UTF8">
<DatabaseValue statementID="1" columnName="SHORTDESCRIPTION" />
</Parameter>
<Parameter name="$ITEM.QUANTITY" encoding="ASCII">
<DatabaseValue statementID="1" columnName="INT_QUANTITY" />
</Parameter>
<Parameter name="$ITEM.UNITOFMEASURE" maxBytes="12" encoding="UTF8">
<DatabaseValue statementID="1" columnName="QTYMEASURE" />
</Parameter>
<Parameter name="$ITEM.UNITCOST" encoding="ASCII">
<DatabaseValue statementID="1" columnName="UNITCOST" />
</Parameter>
<Parameter name="$ITEM.TOTALCOST" encoding="ASCII">
<DatabaseValue statementID="1" columnName="TOTALCOST" />
</Parameter>

</Command>


</Profile>

E' possibile trovare WC51_SET_MIA_PCard.profile in:
unità:\WebSphere\CommerceServer\instances\instance_name\xml\payment\
unità:\Program Files\WebSphere\CommerceServer\instances\instance_name\xml\payment\
/usr/WebSphere/CommerceServer/instances/instance_name/xml/payment/
/opt/WebSphere/CommerceServer/instances/instance_name/xml/payment/
instance root path/xml/payment/

dove instance root path è il percorso specificato dall'utente nel campo Percorso principale istanza nel pannello Istanza di Gestore configurazione quando è stata creata l'istanza. Il percorso predefinito è /QIBM/UserData/CommerceSuite5/instances/instance_name.

Il parametro PAYMENTTYPE specifica il nome della cassetta del profilo.

Si osservi che i valori per i dati facoltativi della carta acquisti vengono raccolti dalle tabelle WebSphere Commerce utilizzando la SelectStatement specificata nel profilo. Esistono alcune limitazioni:

  1. La cassetta supporta soltanto valori interi nella colonna QUANTITY. Le parti decimali vengono eliminate.
  2. La colonna CATENTRY_ID della tabella ORDERITEMS non può essere null. Le voci CATENTRY_ID delle tabelle CATENTSHIP e CATENTDESC devono essere presenti nella colonna SHORTDESCRIPTION della tabella CATENTDESC per l'ID lingua specificato.
  3. Le colonne TAXAMOUNT, SHIPCHARGE e SHIPTAXAMOUNT di ORDERITEMS non devono essere null.

WebSphere Commerce non utilizza l'elemento <BuyPageInformation> del profilo Cassiere. Una funzione confrontabile viene fornita con la proprietà attrPageName del criterio di pagamento.

Prima di utilizzare questo profilo Cassiere, è necessario apportare una piccola modifica se si desidera utilizzare il criterio di pagamento che specifica questo profilo con i negozi (ad esempio, policy_id uguale a 301). Per ulteriori istruzioni, consultare la sezione Aggiornamento del profilo Cassiere per la cassetta per SET - MIA con i dati della scheda di acquisto (per Oracle).

Per ulteriori informazioni sui parametri richiesti da SET Cassette, fare riferimento a IBM WebSphere Payment Manager for Multiplatforms, Cassette for SET Supplement, Versione 3.1.

Argomenti correlati (1275 byte)

Riferimenti correlati (1275 byte)

IBM copyright