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:
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.
![]() |