You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mr...@apache.org on 2009/04/09 21:45:33 UTC

svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/...

Author: mrisaliti
Date: Thu Apr  9 19:45:31 2009
New Revision: 763782

URL: http://svn.apache.org/viewvc?rev=763782&view=rev
Log:
Move payment.properties to PaymentGatewayConfig entities (OFBIZ-2269)

Added:
    ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml   (with props)
    ofbiz/trunk/applications/accounting/servicedef/services_paymentgateway.xml   (with props)
    ofbiz/trunk/applications/accounting/widget/PaymentGatewayConfigurationsForms.xml   (with props)
    ofbiz/trunk/applications/accounting/widget/PaymentGatewayConfigurationsScreens.xml   (with props)
    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/store/EditProductStorePaySetup.groovy   (with props)
Modified:
    ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
    ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml
    ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
    ofbiz/trunk/applications/accounting/ofbiz-component.xml
    ofbiz/trunk/applications/accounting/servicedef/services_paymentmethod.xml
    ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java
    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
    ofbiz/trunk/applications/accounting/widget/Menus.xml
    ofbiz/trunk/applications/product/config/ProductUiLabels.xml
    ofbiz/trunk/applications/product/entitydef/entitymodel.xml
    ofbiz/trunk/applications/product/servicedef/services_store.xml
    ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreForms.xml
    ofbiz/trunk/applications/product/widget/catalog/StoreScreens.xml
    ofbiz/trunk/specialpurpose/ecommerce/data/DemoFinAccount.xml
    ofbiz/trunk/specialpurpose/ecommerce/data/DemoProduct.xml
    ofbiz/trunk/specialpurpose/ecommerce/data/DemoRentalProduct.xml
    ofbiz/trunk/specialpurpose/ecommerce/data/DemoStoreGiftCertificateSettings.xml
    ofbiz/trunk/specialpurpose/pos/data/DemoRetail.xml
    ofbiz/trunk/specialpurpose/webpos/data/DemoPosData.xml

Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=763782&r1=763781&r2=763782&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml (original)
+++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml Thu Apr  9 19:45:31 2009
@@ -5474,6 +5474,30 @@
         <value xml:lang="th">รายการสถานะกลุ่มผู้ใช้</value>
         <value xml:lang="zh">会员角色列表</value>
     </property>
+    <property key="AccountingPayflowProLoggingOff">
+        <value xml:lang="en">Logging Off</value>
+        <value xml:lang="it">Log disabilitato</value>
+    </property>
+    <property key="AccountingPayflowProLoggingSeverityFatal">
+        <value xml:lang="en">Logging Severity Fatal</value>
+        <value xml:lang="it">Log severità fatale</value>
+    </property>
+    <property key="AccountingPayflowProLoggingSeverityError">
+        <value xml:lang="en">Logging Severity Error</value>
+        <value xml:lang="it">Log severità errore</value>
+    </property>
+    <property key="AccountingPayflowProLoggingSeverityWarn">
+        <value xml:lang="en">Logging Severity Warn</value>
+        <value xml:lang="it">Log severità avvertimento</value>
+    </property>
+    <property key="AccountingPayflowProLoggingSeverityInfo">
+        <value xml:lang="en">Logging Severity Info</value>
+        <value xml:lang="it">Log severità info</value>
+    </property>
+    <property key="AccountingPayflowProLoggingSeverityDebug">
+        <value xml:lang="en">Logging Severity Debug</value>
+        <value xml:lang="it">Log severità debug</value>
+    </property>
     <property key="AccountingPayOnlyWithBillingAccount">
         <value xml:lang="de">Bezahlung nur mit Rechnungskonto</value>
         <value xml:lang="en">Pay only with Billing Account</value>
@@ -5689,6 +5713,46 @@
         <value xml:lang="th">วันที่ชำระเงิน</value>
         <value xml:lang="zh">支付日</value>
     </property>
+    <property key="AccountingPaymentGatewayApprove">
+        <value xml:lang="en">Approve</value>
+        <value xml:lang="it">Approva</value>
+    </property>
+    <property key="AccountingPaymentGatewayConfigId">
+        <value xml:lang="en">Payment Gateway Config Id</value>
+        <value xml:lang="it">Codice configurazione gateway pagamenti</value>
+    </property>
+    <property key="AccountingPaymentGatewayConfigDescription">
+        <value xml:lang="en">Payment Gateway Config Description</value>
+        <value xml:lang="it">Descrizione configurazione gateway pagamenti</value>
+    </property>
+    <property key="AccountingPaymentGatewayConfigTypeDescription">
+        <value xml:lang="en">Payment Gateway Config Type Description</value>
+        <value xml:lang="it">Descrizione tipo configurazione gateway pagamenti</value>
+    </property>
+    <property key="AccountingPaymentGatewayConfigTypeId">
+        <value xml:lang="en">Payment Gateway Config Type Id</value>
+        <value xml:lang="it">Tipo configurazione gateway pagamenti</value>
+    </property>
+    <property key="AccountingPaymentGatewayConfigurations">
+        <value xml:lang="en">Payment Gateway Configurations</value>
+        <value xml:lang="it">Configurazioni gateway pagamenti</value>
+    </property>
+    <property key="AccountingPaymentGatewayConfigurationTypes">
+        <value xml:lang="en">Payment Gateway Configuration Types</value>
+        <value xml:lang="it">Tipi configurazione gateway pagamenti</value>
+    </property>
+    <property key="AccountingPaymentGatewayDecline">
+        <value xml:lang="en">Decline</value>
+        <value xml:lang="it">Rifiutare</value>
+    </property>
+    <property key="AccountingPaymentGatewayProduction">
+        <value xml:lang="en">Production</value>
+        <value xml:lang="it">Produzione</value>
+    </property>
+    <property key="AccountingPaymentGatewayRandom">
+        <value xml:lang="en">Random</value>
+        <value xml:lang="it">Casuale</value>
+    </property>
     <property key="AccountingPaymentGatewayResponseId">
         <value xml:lang="de">Bilanzierung der Zahlungsportalantworten</value>
         <value xml:lang="en">Accounting Payment Gateway Response Id</value>
@@ -7883,6 +7947,18 @@
         <value xml:lang="fr">Type de carte</value>
         <value xml:lang="it">Tipo Carta di Credito</value>
     </property>
+    <property key="FormFieldTitle_certsPath">
+        <value xml:lang="en">Certs Path</value>
+        <value xml:lang="it">Path certificati</value>
+    </property>
+    <property key="FormFieldTitle_checkAvs">
+        <value xml:lang="en">Check Avs</value>
+        <value xml:lang="it">Controlla Avs</value>
+    </property>
+    <property key="FormFieldTitle_checkCvv2">
+        <value xml:lang="en">Check Cvv2</value>
+        <value xml:lang="it">Controlla Cvv2</value>
+    </property>
     <property key="FormFieldTitle_classEnumId">
         <value xml:lang="de">Kategorieaufzählungs-ID</value>
         <value xml:lang="en">Class Enum Id</value>
@@ -7895,6 +7971,10 @@
         <value xml:lang="th">Class Enum Id</value>
         <value xml:lang="zh">类枚举标识</value>
     </property>
+    <property key="FormFieldTitle_clientId">
+        <value xml:lang="en">Client Id</value>
+        <value xml:lang="it">Id client</value>
+    </property>
     <property key="FormFieldTitle_cogsMethodId">
         <value xml:lang="en">Cost Of Goods Sold (COGS) Method</value>
         <value xml:lang="es">Método de costo de bienes vendidos</value>
@@ -8079,6 +8159,10 @@
         <value xml:lang="th">ถึงกำหนดวันที่</value>
         <value xml:lang="zh">支付日</value>
     </property>
+    <property key="FormFieldTitle_effectiveAlias">
+        <value xml:lang="en">effective Alias</value>
+        <value xml:lang="it">Alias effettivo</value>
+    </property>
     <property key="FormFieldTitle_emailAddressCc">
         <value xml:lang="ar">نسخ عنوان البريد الإلكتروني</value>
         <value xml:lang="en">Copy Emailadress</value>
@@ -8121,6 +8205,14 @@
         <value xml:lang="it">Tipo posizione impiegato</value>
         <value xml:lang="th">รหัสประเภทตำแหน่งพนักงาน</value>
     </property>
+    <property key="FormFieldTitle_enableCVM">
+        <value xml:lang="en">enableCVM</value>
+        <value xml:lang="it">Abilita CVM</value>
+    </property>
+    <property key="FormFieldTitle_enableTransmit">
+        <value xml:lang="en">Enable Transmit</value>
+        <value xml:lang="it">Abilita trasmissione</value>
+    </property>
     <property key="FormFieldTitle_errorGlJournalId">
         <value xml:lang="en">Error Gl Journal Id</value>
         <value xml:lang="fr">Réf. de journal d'erreur (GL)</value>
@@ -8424,11 +8516,23 @@
         <value xml:lang="th">Gl Xbrl Class Id</value>
         <value xml:lang="zh">总账可扩展商业报告语言类标识</value>
     </property>
+    <property key="FormFieldTitle_groupId">
+        <value xml:lang="en">Group Id</value>
+        <value xml:lang="it">Id gruppo</value>
+    </property>
     <property key="FormFieldTitle_groupStatusId">
         <value xml:lang="en">Group Status Id</value>
         <value xml:lang="fr">Réf. de groupe de statuts</value>
         <value xml:lang="it">Stato Gruppo</value>
     </property>
+    <property key="FormFieldTitle_hostAddress">
+        <value xml:lang="en">Host Address</value>
+        <value xml:lang="it">Indirizzo host</value>
+    </property>
+    <property key="FormFieldTitle_hostPort">
+        <value xml:lang="en">Host Port</value>
+        <value xml:lang="it">Porta host</value>
+    </property>
     <property key="FormFieldTitle_includeTaxInPrice">
         <value xml:lang="ar">ضم الضريبة إلى السعر</value>
         <value xml:lang="de">Preis enthält Steuer</value>
@@ -8692,6 +8796,14 @@
         <value xml:lang="th">Located At Location Seq Id</value>
         <value xml:lang="zh">位于地点顺序编号</value>
     </property>
+    <property key="FormFieldTitle_logFileName">
+        <value xml:lang="en">Log File Name</value>
+        <value xml:lang="it">Nome del file di log</value>
+    </property>
+    <property key="FormFieldTitle_loggingLevel">
+        <value xml:lang="en">Logging Level</value>
+        <value xml:lang="it">Livello dei log</value>
+    </property>
     <property key="FormFieldTitle_maintHistSeqId">
         <value xml:lang="en">Maint Hist Seq Id</value>
         <value xml:lang="es">Id Sec Hist Mant</value>
@@ -8710,6 +8822,10 @@
         <value xml:lang="nl">Maximum bedrag</value>
         <value xml:lang="th">จำนวนมากที่สุด</value>
     </property>
+    <property key="FormFieldTitle_maxLogFileSize">
+        <value xml:lang="en">Max Log File Size</value>
+        <value xml:lang="it">Ampiezza massima file di log</value>
+    </property>
     <property key="FormFieldTitle_maxQuantity">
         <value xml:lang="en">Max Quantity </value>
         <value xml:lang="fr">Quantité maximum </value>
@@ -8918,6 +9034,10 @@
         <value xml:lang="fr">Réf. de période parente</value>
         <value xml:lang="it">Periodo Fiscale Padre</value>
     </property>
+    <property key="FormFieldTitle_partner">
+        <value xml:lang="en">Partner</value>
+        <value xml:lang="it">Partner</value>
+    </property>
     <property key="FormFieldTitle_paymentApplied">
         <value xml:lang="en">Already Applied</value>
         <value xml:lang="es">Ya aplicado</value>
@@ -9120,6 +9240,14 @@
         <value xml:lang="nl">Datum boeking</value>
         <value xml:lang="th">โพสต์เมื่อวันที่</value>
     </property>
+    <property key="FormFieldTitle_preAuth">
+        <value xml:lang="en">Pre Auth</value>
+        <value xml:lang="it">Pre-autorizzazione</value>
+    </property>
+    <property key="FormFieldTitle_processMode">
+        <value xml:lang="en">processMode</value>
+        <value xml:lang="it">Modo esecuzione</value>
+    </property>
     <property key="FormFieldTitle_productMaintSeqId">
         <value xml:lang="de">Produktverwaltung</value>
         <value xml:lang="en">Product Maintenance</value>
@@ -9167,6 +9295,22 @@
         <value xml:lang="th">รหัสสินค้า</value>
         <value xml:lang="zh">产品编号</value>
     </property>
+    <property key="FormFieldTitle_proxyAddress">
+        <value xml:lang="en">Proxy Address</value>
+        <value xml:lang="it">Indirizzo proxy</value>
+    </property>
+    <property key="FormFieldTitle_proxyLogon">
+        <value xml:lang="en">Proxy Logon</value>
+        <value xml:lang="it">Logon proxy</value>
+    </property>
+    <property key="FormFieldTitle_proxyPassword">
+        <value xml:lang="en">Proxy Password</value>
+        <value xml:lang="it">Password proxy</value>
+    </property>
+    <property key="FormFieldTitle_proxyPort">
+        <value xml:lang="en">Proxy Port</value>
+        <value xml:lang="it">Porta proxy</value>
+    </property>
     <property key="FormFieldTitle_purchaseCost">
         <value xml:lang="en">Purchase Cost</value>
         <value xml:lang="fr">Coût d'achat</value>
@@ -9189,6 +9333,10 @@
         <value xml:lang="th">รหัสรายการสั่งซื้อ</value>
         <value xml:lang="zh">购买定单编号</value>
     </property>
+    <property key="FormFieldTitle_pwd">
+        <value xml:lang="en">Pwd</value>
+        <value xml:lang="it">Password</value>
+    </property>
     <property key="FormFieldTitle_quoteIdPrefix">
         <value xml:lang="en">Quote Id Prefix</value>
         <value xml:lang="es">Id Prefijo de Presupuesto</value>
@@ -9395,6 +9543,10 @@
         <value xml:lang="th">รหัสตารางเวลาการทำงาน</value>
         <value xml:lang="zh">编排人工服务标识</value>
     </property>
+    <property key="FormFieldTitle_serverURL">
+        <value xml:lang="en">serverURL</value>
+        <value xml:lang="it">URL server</value>
+    </property>
     <property key="FormFieldTitle_settlementTermId">
         <value xml:lang="en">Settlement</value>
         <value xml:lang="es">Liquidación</value>
@@ -9418,6 +9570,14 @@
         <value xml:lang="th">รหัสการขนส่งสินค้า</value>
         <value xml:lang="zh">运输标识</value>
     </property>
+    <property key="FormFieldTitle_sourceId">
+        <value xml:lang="en">Source Id</value>
+        <value xml:lang="it">Id sorgente</value>
+    </property>
+    <property key="FormFieldTitle_stackTraceOn">
+        <value xml:lang="en">Stack Trace On</value>
+        <value xml:lang="it">Tracciare lo stack trace</value>
+    </property>
     <property key="FormFieldTitle_statusDate">
         <value xml:lang="en">Status Date</value>
         <value xml:lang="es">Fecha de Status</value>
@@ -9574,6 +9734,10 @@
         <value xml:lang="nl">ID tijdregistratie</value>
         <value xml:lang="th">รหัสตารางการทำงาน</value>
     </property>
+    <property key="FormFieldTitle_timeout">
+        <value xml:lang="en">Timeout</value>
+        <value xml:lang="it">Timeout</value>
+    </property>
     <property key="FormFieldTitle_timesheetPartyId">
         <value xml:lang="en">Timesheet Party Id</value>
         <value xml:lang="fr">Réf de feuille d'activité d'un acteur</value>
@@ -9677,6 +9841,22 @@
         <value xml:lang="th">Use Invoice Id For Returns</value>
         <value xml:lang="zh">用于退货的发票编号</value>
     </property>
+    <property key="FormFieldTitle_userAlias">
+        <value xml:lang="en">userAlias</value>
+        <value xml:lang="it">Alias utente</value>
+    </property>
+    <property key="FormFieldTitle_userId">
+        <value xml:lang="en">User Id</value>
+        <value xml:lang="it">Id utente</value>
+    </property>
+    <property key="FormFieldTitle_username">
+        <value xml:lang="en">username</value>
+        <value xml:lang="it">Nome utente</value>
+    </property>
+    <property key="FormFieldTitle_vendor">
+        <value xml:lang="en">Vendor</value>
+        <value xml:lang="it">Fornitore</value>
+    </property>
     <property key="FormFieldTitle_voucherDate">
         <value xml:lang="en">Voucher Date</value>
         <value xml:lang="fr">Date de bon d'achat</value>
@@ -10223,6 +10403,14 @@
         <value xml:lang="ru">Поиск финансовых счетов</value>
         <value xml:lang="th">ค้นหางบกำไรสะสมและงบแสดงการเปลี่ยนแปลงฐานะการเงิน</value>
     </property>
+    <property key="PageTitleFindPaymentGatewayConfigurations">
+        <value xml:lang="en">Find Payment Gateway Configurations</value>
+        <value xml:lang="it">Ricerca configurazioni gateway pagamenti</value>
+    </property>
+    <property key="PageTitleFindPaymentGatewayConfigurationTypes">
+        <value xml:lang="en">Find Payment Gateway Configuration Types</value>
+        <value xml:lang="it">Ricerca tipi configurazioni gateway pagamenti</value>
+    </property>
     <property key="PageTitleFindGatewayResponses">
         <value xml:lang="de">Schnittstellen-Antwort finden</value>
         <value xml:lang="en">Find Gateway Responses</value>
@@ -10666,6 +10854,22 @@
         <value xml:lang="th">Un-posted Accounting Transactions</value>
         <value xml:lang="zh">未过户财务交易</value>
     </property>
+    <property key="PageTitleUpdatePaymentGatewayConfiguration">
+        <value xml:lang="en">Update Payment Gateway Configuration</value>
+        <value xml:lang="it">Aggiorna configurazione gateway pagamento</value>
+    </property>
+    <property key="PageTitleUpdatePaymentGatewayConfigurationType">
+        <value xml:lang="en">Update Payment Gateway Configuration Type</value>
+        <value xml:lang="it">Aggiorna tipo configurazione gateway pagamento</value>
+    </property>
+    <property key="PageTitleUpdatePaymentGatewayConfigurationClearCommerce">
+        <value xml:lang="en">Update Payment Gateway Configuration Clear Commerce</value>
+        <value xml:lang="it">Aggiorna configurazione gateway pagamento Clear Commerce</value>
+    </property>
+    <property key="PageTitleUpdatePaymentGatewayConfigurationPayflowPro">
+        <value xml:lang="en">Update Payment Gateway Configuration Payflow Pro</value>
+        <value xml:lang="it">Aggiorna configurazione gateway pagamento Payflow Pro</value>
+    </property>
     <property key="PageTitleViewAccountingTransaction">
         <value xml:lang="en">View Accounting Transaction</value>
         <value xml:lang="es">Ver Tansacción de Contabilidad</value>

Modified: ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml?rev=763782&r1=763781&r2=763782&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml (original)
+++ ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml Thu Apr  9 19:45:31 2009
@@ -665,6 +665,112 @@
     <PaymentType description="POS Paid Out" hasTable="N" parentTypeId="DISBURSEMENT" paymentTypeId="POS_PAID_OUT"/>
     <PaymentType description="POS Paid In" hasTable="N" parentTypeId="RECEIPT" paymentTypeId="POS_PAID_IN"/>
 
+    <!-- Payment Gateway Configuration -->
+    <PaymentGatewayConfigType paymentGatewayConfigTypeId="PAYFLOWPRO" hasTable="N" description="Payment Gateway Payflow Pro"/>
+    <PaymentGatewayConfig paymentGatewayConfigId="PAYFLOWPRO_CONFIG" paymentGatewayConfigTypeId="PAYFLOWPRO" description="Configuration of Payflow Pro"/>
+    <PaymentGatewayPayflowPro paymentGatewayConfigId="PAYFLOWPRO_CONFIG" certsPath="${sys:getProperty('ofbiz.home')}/applications/accounting/pfcerts" hostAddress="test-payflow.verisign.com" hostPort="443" timeout="80" proxyAddress="" proxyPort="80" proxyLogon="" proxyPassword="" vendor="[Vendor]" userId="[PayFlow UserID]" pwd="[PayFlow Password]" partner="[PayFlow Partner]" checkAvs="Y" checkCvv2="Y" preAuth="Y" enableTransmit="true" logFileName="${sys:getProperty('ofbiz.home')}/runtime/logs/payflow_java.log" loggingLevel="6" maxLogFileSize="1000000" stackTraceOn="N"/>
+    
+    <PaymentGatewayConfigType paymentGatewayConfigTypeId="CLEARCOMMERCE" hasTable="N" description="Payment Gateway Clear Commerce"/>
+    <PaymentGatewayConfig paymentGatewayConfigId="CLEARCOMMERCE_CONFIG" paymentGatewayConfigTypeId="CLEARCOMMERCE" description="Configuration of Clear Commerce"/>
+    <PaymentGatewayClearCommerce paymentGatewayConfigId="CLEARCOMMERCE_CONFIG" sourceId="mySource" groupId="myGroup" clientId="[ClearCommerce clientId]" username="[ClearCommerce username]" pwd="[ClearCommerce password]" userAlias="[ClearCommerce alias]" effectiveAlias="" processMode="P" serverURL="https://test5x.clearcommerce.com:11500" enableCVM="N"/>
+    
+    <!--  Credit Card methods by type -->
+    <CustomMethodType customMethodTypeId="CC_AUTH" parentTypeId="" hasTable="N" description="Credit Card authorize methods"/>
+    <CustomMethodType customMethodTypeId="CC_CAPTURE" parentTypeId="" hasTable="N" description="Credit Card capture methods"/>
+    <CustomMethodType customMethodTypeId="CC_REFUND" parentTypeId="" hasTable="N" description="Credit Card refund methods"/>
+    <CustomMethodType customMethodTypeId="CC_RELEASE" parentTypeId="" hasTable="N" description="Credit Card release methods"/>
+    <CustomMethodType customMethodTypeId="CC_CREDIT" parentTypeId="" hasTable="N" description="Credit Card credit methods"/>
+    
+    <CustomMethodType customMethodTypeId="EFT_AUTH" parentTypeId="" hasTable="N" description="EFT authorize methods"/>
+    <CustomMethodType customMethodTypeId="EFT_RELEASE" parentTypeId="" hasTable="N" description="EFT release methods"/>
+    
+    <CustomMethodType customMethodTypeId="FIN_AUTH" parentTypeId="" hasTable="N" description="FIN account authorize methods"/>
+    <CustomMethodType customMethodTypeId="FIN_CAPTURE" parentTypeId="" hasTable="N" description="FIN account capture methods"/>
+    <CustomMethodType customMethodTypeId="FIN_REFUND" parentTypeId="" hasTable="N" description="FIN account refund methods"/>
+    <CustomMethodType customMethodTypeId="FIN_RELEASE" parentTypeId="" hasTable="N" description="FIN account release methods"/>
+    
+    <CustomMethodType customMethodTypeId="GIFT_AUTH" parentTypeId="" hasTable="N" description="GIFT card authorize methods"/>
+    <CustomMethodType customMethodTypeId="GIFT_CAPTURE" parentTypeId="" hasTable="N" description="GIFT card capture methods"/>
+    <CustomMethodType customMethodTypeId="GIFT_REFUND" parentTypeId="" hasTable="N" description="GIFT card refund methods"/>
+    <CustomMethodType customMethodTypeId="GIFT_RELEASE" parentTypeId="" hasTable="N" description="GIFT card release methods"/>
+    
+    <CustomMethod customMethodId="CC_AUTH_TEST" customMethodTypeId="CC_AUTH" customMethodName="testCCProcessor" description="CC Test authorize"/>
+    <CustomMethod customMethodId="CC_AUTH_CAPTURE_TST" customMethodTypeId="CC_AUTH" customMethodName="testCCProcessorWithCapture" description="CC Test authorize and capture"/>
+    <CustomMethod customMethodId="CC_AUTH_RANDOM_TEST" customMethodTypeId="CC_AUTH" customMethodName="testRandomAuthorize" description="CC Test random authorize"/>
+    <CustomMethod customMethodId="CC_AUTH_AIM" customMethodTypeId="CC_AUTH" customMethodName="AIMCCAuth" description="CC Authorize dot net authorize"/>
+    <CustomMethod customMethodId="CC_AUTH_CAPTURE_AIM" customMethodTypeId="CC_AUTH" customMethodName="AIMCCAuthCapture" description="CC Authorize dot net authorize and capture"/>
+    <CustomMethod customMethodId="CC_AUTH_CLEARCOMMERC" customMethodTypeId="CC_AUTH" customMethodName="clearCommerceCCAuth" description="CC Clear Commerce authorize"/>
+    <CustomMethod customMethodId="CC_AUTH_CLEARCOM_REP" customMethodTypeId="CC_AUTH" customMethodName="clearCommerceCCReport" description="CC Clear Commerce authorize reporting facility"/>
+    <CustomMethod customMethodId="CC_AUTH_CYBERSOURCE" customMethodTypeId="CC_AUTH" customMethodName="cyberSourceCCAuth" description="CC CyberSource authorize"/>
+    <CustomMethod customMethodId="CC_AUTH_PAYFLOW" customMethodTypeId="CC_AUTH" customMethodName="payflowCCProcessor" description="CC Payflow Pro authorize"/>
+    <CustomMethod customMethodId="CC_AUTH_PCCHARGE" customMethodTypeId="CC_AUTH" customMethodName="pcChargeCCAuth" description="CC PCCharge authorize"/>
+    <CustomMethod customMethodId="CC_AUTH_RITA" customMethodTypeId="CC_AUTH" customMethodName="ritaCCAuth" description="CC RiTA authorize"/>
+    <CustomMethod customMethodId="CC_AUTH_RITA_REMOTE" customMethodTypeId="CC_AUTH" customMethodName="ritaCCAuthRemote" description="CC RiTA remote authorize"/>
+    <CustomMethod customMethodId="CC_AUTH_ALWAYSAPPROV" customMethodTypeId="CC_AUTH" customMethodName="alwaysApproveCCProcessor" description="CC Always authorize"/>
+    <CustomMethod customMethodId="CC_AUTH_ALWAYSDECLIN" customMethodTypeId="CC_AUTH" customMethodName="alwaysDeclineCCProcessor" description="CC Always decline"/>
+    <CustomMethod customMethodId="CC_AUTH_ALWAYSNSF" customMethodTypeId="CC_AUTH" customMethodName="alwaysNsfCCProcessor" description="CC Always decline for not sufficient funds"/>
+    <CustomMethod customMethodId="CC_AUTH_ALWAYSBAD" customMethodTypeId="CC_AUTH" customMethodName="alwaysBadExpireCCProcessor" description="CC Always decline for fail/bad expire date"/>
+    <CustomMethod customMethodId="CC_AUTH_ALWAYSEVEN" customMethodTypeId="CC_AUTH" customMethodName="badExpireEvenCCProcessor" description="CC Always decline for fail/bad expire date when year is even"/>
+    <CustomMethod customMethodId="CC_AUTH_ALWAYSBADNUM" customMethodTypeId="CC_AUTH" customMethodName="alwaysBadCardNumberCCProcessor" description="CC Always decline for bad card number"/>
+    <CustomMethod customMethodId="CC_AUTH_ALWAYSFAIL" customMethodTypeId="CC_AUTH" customMethodName="alwaysBadCardNumberCCProcessor" description="CC Always fail"/>
+    <CustomMethod customMethodId="CC_AUTH_CAPTURE_ALWA" customMethodTypeId="CC_AUTH" customMethodName="alwaysApproveWithCaptureCCProcessor" description="CC Always authorize and capture"/>
+    
+    <CustomMethod customMethodId="CC_CAPTURE_TEST" customMethodTypeId="CC_CAPTURE" customMethodName="testCCCapture" description="CC Test capture"/>
+    <CustomMethod customMethodId="CC_CAPTURE_REAUTH" customMethodTypeId="CC_CAPTURE" customMethodName="testCCCaptureWithReAuth" description="CC Test reauth capture"/>
+    <CustomMethod customMethodId="CC_CAPTURE_ALWAYSDEC" customMethodTypeId="CC_CAPTURE" customMethodName="testCCProcessorCaptureAlwaysDecline" description="CC Always decline capture"/>
+    <CustomMethod customMethodId="CC_CAPTURE_AIM" customMethodTypeId="CC_CAPTURE" customMethodName="AIMCCCapture" description="CC Authorize dot net capture"/>
+    <CustomMethod customMethodId="CC_CAPTURE_CLEARCOMM" customMethodTypeId="CC_CAPTURE" customMethodName="clearCommerceCCCapture" description="CC Clear Commerce capture"/>
+    <CustomMethod customMethodId="CC_CAPTURE_CYBERSOUR" customMethodTypeId="CC_CAPTURE" customMethodName="cyberSourceCCCapture" description="CC CyberSource capture"/>
+    <CustomMethod customMethodId="CC_CAPTURE_PAYFLOW" customMethodTypeId="CC_CAPTURE" customMethodName="payflowCCCapture" description="CC Payflow Pro capture"/>
+    <CustomMethod customMethodId="CC_CAPTURE_PCCHARGE" customMethodTypeId="CC_CAPTURE" customMethodName="pcChargeCCCapture" description="CC PCCharge capture"/>
+    <CustomMethod customMethodId="CC_CAPTURE_RITA" customMethodTypeId="CC_CAPTURE" customMethodName="ritaCCCapture" description="CC RiTA capture"/>
+    <CustomMethod customMethodId="CC_CAPTURE_RITA_REMO" customMethodTypeId="CC_CAPTURE" customMethodName="ritaCCCaptureRemote" description="CC RiTA remote capture"/>
+    
+    <CustomMethod customMethodId="CC_REFUND_TEST" customMethodTypeId="CC_REFUND" customMethodName="testCCRefund" description="CC Test refund"/>
+    <CustomMethod customMethodId="CC_REFUND_TEST_FAIL" customMethodTypeId="CC_REFUND" customMethodName="testCCRefundFailure" description="CC Test refund failure"/>
+    <CustomMethod customMethodId="CC_REFUND_AIM" customMethodTypeId="CC_REFUND" customMethodName="AIMCCRefund" description="CC Authorize dot net refund"/>
+    <CustomMethod customMethodId="CC_REFUND_CLEARCOMME" customMethodTypeId="CC_REFUND" customMethodName="clearCommerceCCRefund" description="CC Clear Commerce refund"/>
+    <CustomMethod customMethodId="CC_REFUND_CYBERSOURC" customMethodTypeId="CC_REFUND" customMethodName="cyberSourceCCRefund" description="CC CyberSource refund"/>
+    <CustomMethod customMethodId="CC_REFUND_PAYFLOW" customMethodTypeId="CC_REFUND" customMethodName="payflowCCRefund" description="CC Payflow Pro refund"/>
+    <CustomMethod customMethodId="CC_REFUND_PCCHARGE" customMethodTypeId="CC_REFUND" customMethodName="pcChargeCCRefund" description="CC PCCharge refund"/>
+    <CustomMethod customMethodId="CC_REFUND_RITA" customMethodTypeId="CC_REFUND" customMethodName="ritaCCRefund" description="CC RiTA refund"/>
+    <CustomMethod customMethodId="CC_REFUND_RITA_REMOT" customMethodTypeId="CC_REFUND" customMethodName="ritaCCRefundRemote" description="CC RiTA remote refund"/>
+    
+    <CustomMethod customMethodId="CC_RELEASE_TEST" customMethodTypeId="CC_RELEASE" customMethodName="testCCRelease" description="CC Test release"/>
+    <CustomMethod customMethodId="CC_RELEASE_AIM" customMethodTypeId="CC_RELEASE" customMethodName="AIMCCRelease" description="CC Authorize dot net release"/>
+    <CustomMethod customMethodId="CC_RELEASE_CLEARCOMM" customMethodTypeId="CC_RELEASE" customMethodName="clearCommerceCCRelease" description="CC Clear Commerce release"/>
+    <CustomMethod customMethodId="CC_RELEASE_CYBERSOUR" customMethodTypeId="CC_RELEASE" customMethodName="cyberSourceCCRelease" description="CC CyberSource release"/>
+    <CustomMethod customMethodId="CC_RELEASE_PAYFLOW" customMethodTypeId="CC_RELEASE" customMethodName="payflowCCVoid" description="CC Payflow Pro release"/>
+    <CustomMethod customMethodId="CC_RELEASE_PCCHARGE" customMethodTypeId="CC_RELEASE" customMethodName="pcChargeCCRelease" description="CC PCCharge release"/>
+    <CustomMethod customMethodId="CC_RELEASE_RITA" customMethodTypeId="CC_RELEASE" customMethodName="ritaCCRelease" description="CC RiTA release"/>
+    <CustomMethod customMethodId="CC_RELEASE_RITA_REMO" customMethodTypeId="CC_RELEASE" customMethodName="ritaCCReleaseRemote" description="CC RiTA remote release"/>
+    
+    <CustomMethod customMethodId="CC_CREDIT_AIM" customMethodTypeId="CC_CREDIT" customMethodName="AIMCCCredit" description="CC Authorize dot net credit"/>
+    <CustomMethod customMethodId="CC_CREDIT_CLEARCOMME" customMethodTypeId="CC_CREDIT" customMethodName="clearCommerceCCCredit" description="CC Clear Commerce credit"/>
+    <CustomMethod customMethodId="CC_CREDIT_CYBERSOURC" customMethodTypeId="CC_CREDIT" customMethodName="cyberSourceCCCredit" description="CC CyberSource credit"/>
+    <CustomMethod customMethodId="CC_CREDIT_RITA" customMethodTypeId="CC_CREDIT" customMethodName="ritaCCCreditRefund" description="CC RiTA credit"/>
+    
+    <CustomMethod customMethodId="EFT_AUTH_TEST" customMethodTypeId="EFT_AUTH" customMethodName="testEFTProcessor" description="EFT test authorize"/>
+    <CustomMethod customMethodId="EFT_AUTH_ALWAYSAPPRO" customMethodTypeId="EFT_AUTH" customMethodName="alwaysApproveEFTProcessor" description="EFT always authorize"/>
+    <CustomMethod customMethodId="EFT_AUTH_ALWAYSDECLI" customMethodTypeId="EFT_AUTH" customMethodName="alwaysDeclineEFTProcessor" description="EFT always decline"/>
+    <CustomMethod customMethodId="EFT_RELEASE_TEST" customMethodTypeId="EFT_RELEASE" customMethodName="testEFTRelease" description="EFT test release"/>
+    
+    <CustomMethod customMethodId="FIN_AUTH_OFBIZ" customMethodTypeId="FIN_AUTH" customMethodName="ofbFaAuthorize" description="FIN account authorize"/>
+    <CustomMethod customMethodId="FIN_CAPTURE_OFBIZ" customMethodTypeId="FIN_CAPTURE" customMethodName="ofbFaCapture" description="FIN account capture"/>
+    <CustomMethod customMethodId="FIN_REFUND_OFBIZ" customMethodTypeId="FIN_REFUND" customMethodName="ofbFaRefund" description="FIN account refund"/>
+    <CustomMethod customMethodId="FIN_RELEASE_OFBIZ" customMethodTypeId="FIN_RELEASE" customMethodName="ofbFaRelease" description="FIN account release"/>
+    
+    <CustomMethod customMethodId="GIFT_AUTH_OFBIZ" customMethodTypeId="GIFT_AUTH" customMethodName="ofbGcAuthorize" description="GIFT card authorize"/>
+    <CustomMethod customMethodId="GIFT_AUTH_ALWAYSAPPR" customMethodTypeId="GIFT_AUTH" customMethodName="alwaysApproveGCProcessor" description="GIFT card always authorize"/>
+    <CustomMethod customMethodId="GIFT_AUTH_ALWAYSDECL" customMethodTypeId="GIFT_AUTH" customMethodName="alwaysDeclineGCProcessor" description="GIFT card always decline"/>
+    <CustomMethod customMethodId="GIFT_AUTH_VALUELINK" customMethodTypeId="GIFT_AUTH" customMethodName="valueLinkProcessor" description="GIFT card ValueLink authorize"/>
+    <CustomMethod customMethodId="GIFT_CAPTURE_OFBIZ" customMethodTypeId="GIFT_CAPTURE" customMethodName="ofbGcProcessor" description="GIFT card capture"/>
+    <CustomMethod customMethodId="GIFT_REFUND_OFBIZ" customMethodTypeId="GIFT_REFUND" customMethodName="ofbGcRefund" description="GIFT card refund"/>
+    <CustomMethod customMethodId="GIFT_REFUND_VALUELI" customMethodTypeId="GIFT_REFUND" customMethodName="valueLinkRefund" description="GIFT card ValueLink refund"/>
+    <CustomMethod customMethodId="GIFT_RELEASE_OFBIZ" customMethodTypeId="GIFT_RELEASE" customMethodName="ofbGcRelease" description="GIFT card release"/>
+    <CustomMethod customMethodId="GIFT_RELEASE_TEST" customMethodTypeId="GIFT_RELEASE" customMethodName="testGCRelease" description="GIFT card test release"/>
+    <CustomMethod customMethodId="GIFT_RELEASE_VALUEL" customMethodTypeId="GIFT_RELEASE" customMethodName="valueLinkRelease" description="GIFT card ValueLink release"/>
+    
     <!-- Credit Cart Types -->
     <EnumerationType description="Credit Card Type" enumTypeId="CREDIT_CARD_TYPE" hasTable="N" parentTypeId=""/>
     <Enumeration description="Visa" enumCode="Visa" enumId="CCT_VISA" sequenceId="01" enumTypeId="CREDIT_CARD_TYPE"/>

Modified: ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml?rev=763782&r1=763781&r2=763782&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml Thu Apr  9 19:45:31 2009
@@ -2965,6 +2965,80 @@
         <key-map field-name="glAccountTypeId"/>
       </relation>
     </entity>
+    <entity entity-name="PaymentGatewayConfigType"
+        package-name="org.ofbiz.accounting.payment"
+        title="Payment Gateway Configuration Type">
+      <field name="paymentGatewayConfigTypeId" type="id-ne"></field>
+      <field name="parentTypeId" type="id"></field>
+      <field name="hasTable" type="indicator"></field>
+      <field name="description" type="description"></field>
+      <prim-key field="paymentGatewayConfigTypeId"/>
+      <relation type="one" fk-name="PGCT_PAR" title="Parent" rel-entity-name="PaymentGatewayConfigType">
+        <key-map field-name="parentTypeId" rel-field-name="paymentGatewayConfigTypeId"/>
+      </relation>
+      <relation type="many" title="Sibling" rel-entity-name="PaymentGatewayConfigType">
+        <key-map field-name="parentTypeId"/>
+      </relation>
+    </entity>
+    <entity entity-name="PaymentGatewayConfig"
+        package-name="org.ofbiz.accounting.payment"
+        title="Payment Gateway Configuration">
+      <field name="paymentGatewayConfigId" type="id-ne"></field>
+      <field name="paymentGatewayConfigTypeId" type="id-ne"></field>
+      <field name="description" type="description"></field>
+      <prim-key field="paymentGatewayConfigId"/>
+      <relation type="one" fk-name="PGC_PGCT" rel-entity-name="PaymentGatewayConfigType">
+        <key-map field-name="paymentGatewayConfigTypeId" rel-field-name="paymentGatewayConfigTypeId"/>
+      </relation>
+    </entity>
+    <entity entity-name="PaymentGatewayPayflowPro"
+        package-name="org.ofbiz.accounting.payment"
+        title="Payflow Pro Payment Gateway Configuration">
+      <field name="paymentGatewayConfigId" type="id-ne"></field>
+      <field name="certsPath" type="value"><description>Path the the VeriSign Certificate</description></field>
+      <field name="hostAddress" type="value"><description>Address of the payment processor</description></field>
+      <field name="hostPort" type="numeric"><description>Port of the payment processor</description></field>
+      <field name="timeout" type="numeric"><description>Timeout</description></field>
+      <field name="proxyAddress" type="value"><description>Proxy Address</description></field>
+      <field name="proxyPort" type="numeric"><description>Proxy Port</description></field>
+      <field name="proxyLogon" type="value"><description>Proxy Logon</description></field>
+      <field name="proxyPassword" type="value"><description>Proxy Password</description></field>
+      <field name="vendor" type="short-varchar"><description>Vendor of account information</description></field>
+      <field name="userId" type="short-varchar"><description>PayFlow UserID of account information</description></field>
+      <field name="pwd" type="short-varchar"><description>PayFlow Password of account information</description></field>
+      <field name="partner" type="short-varchar"><description>PayFlow Partner of account information</description></field>
+      <field name="checkAvs" type="indicator"><description>Use Address Verification</description></field>
+      <field name="checkCvv2" type="indicator"><description>Require CVV2 Verification</description></field>
+      <field name="preAuth" type="indicator"><description>Pre-Authorize Payments (if set to N will auto-capture)</description></field>
+      <field name="enableTransmit" type="value"><description>Set to false to not transmit anything</description></field>
+      <field name="logFileName" type="value"><description>Log file name</description></field>
+      <field name="loggingLevel" type="numeric"><description>Logging level</description></field>
+      <field name="maxLogFileSize" type="numeric"><description>Max log file size</description></field>
+      <field name="stackTraceOn" type="indicator"><description>Stack trace on/off</description></field>
+      <prim-key field="paymentGatewayConfigId"/>
+      <relation type="one" fk-name="PGPF_PGC" rel-entity-name="PaymentGatewayConfig">
+        <key-map field-name="paymentGatewayConfigId"/>
+      </relation>
+    </entity>
+    <entity entity-name="PaymentGatewayClearCommerce"
+        package-name="org.ofbiz.accounting.payment"
+        title="Clear Commerce Payment Gateway Configuration">
+      <field name="paymentGatewayConfigId" type="id-ne"></field>
+      <field name="sourceId" type="short-varchar"><description>Useful for tagging transactions</description></field>
+      <field name="groupId" type="short-varchar"><description>Useful for grouping transactions</description></field>
+      <field name="clientId" type="short-varchar"><description>Client Id of account information</description></field>
+      <field name="username" type="short-varchar"><description>User name of account informatio</description></field>
+      <field name="pwd" type="short-varchar"><description>Password of account informatio</description></field>
+      <field name="userAlias" type="short-varchar"><description>Alias of account informatio</description></field>
+      <field name="effectiveAlias" type="short-varchar"><description>Effective Alias of account information</description></field>
+      <field name="processMode" type="indicator"><description>Process mode (Y: approve / N: decline / R: random / P: production)</description></field>
+      <field name="serverURL" type="value"><description>Server URL of the payment processor</description></field>
+      <field name="enableCVM" type="indicator"><description>Enable Card Verification Methods (CID, CVC, CVV2)</description></field>
+      <prim-key field="paymentGatewayConfigId"/>
+      <relation type="one" fk-name="PGCC_PGC" rel-entity-name="PaymentGatewayConfig">
+        <key-map field-name="paymentGatewayConfigId"/>
+      </relation>
+    </entity>
     <entity entity-name="PaymentGatewayRespMsg"
             package-name="org.ofbiz.accounting.payment"
             title="Payment Gateway Response Message">

Modified: ofbiz/trunk/applications/accounting/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/ofbiz-component.xml?rev=763782&r1=763781&r2=763782&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/ofbiz-component.xml (original)
+++ ofbiz/trunk/applications/accounting/ofbiz-component.xml Thu Apr  9 19:45:31 2009
@@ -56,6 +56,7 @@
     <service-resource type="model" loader="main" location="servicedef/services_ledger.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_payment.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_paymentmethod.xml"/>
+    <service-resource type="model" loader="main" location="servicedef/services_paymentgateway.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_tax.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_rate.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_cost.xml"/>

Added: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml?rev=763782&view=auto
==============================================================================
--- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml (added)
+++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml Thu Apr  9 19:45:31 2009
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
+    <simple-method method-name="updateGatewayConfiguration" short-description="Update Payment Gateway Configuration">
+        <entity-one entity-name="PaymentGatewayConfig" value-field="lookedUpValue"/>
+        <set-nonpk-fields map="parameters" value-field="lookedUpValue"/>
+        <store-value value-field="lookedUpValue"/>
+    </simple-method>
+    
+    <simple-method method-name="updateGatewayConfigurationPayflowPro" short-description="Update Payment Gateway Configuration Payflow Pro">
+        <entity-one entity-name="PaymentGatewayPayflowPro" value-field="lookedUpValue"/>
+        <set-nonpk-fields map="parameters" value-field="lookedUpValue"/>
+        <store-value value-field="lookedUpValue"/>
+    </simple-method>
+    
+     <simple-method method-name="updateGatewayConfigurationClearCommerce" short-description="Update Payment Gateway Configuration Clear Commerce">
+        <entity-one entity-name="PaymentGatewayClearCommerce" value-field="lookedUpValue"/>
+        <set-nonpk-fields map="parameters" value-field="lookedUpValue"/>
+        <store-value value-field="lookedUpValue"/>
+    </simple-method>
+    
+    <simple-method method-name="updateGatewayConfigurationType" short-description="Update Payment Gateway Configuration Type">
+        <entity-one entity-name="PaymentGatewayConfigType" value-field="lookedUpValue"/>
+        <set-nonpk-fields map="parameters" value-field="lookedUpValue"/>
+        <store-value value-field="lookedUpValue"/>
+    </simple-method>
+</simple-methods>

Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/applications/accounting/servicedef/services_paymentgateway.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_paymentgateway.xml?rev=763782&view=auto
==============================================================================
--- ofbiz/trunk/applications/accounting/servicedef/services_paymentgateway.xml (added)
+++ ofbiz/trunk/applications/accounting/servicedef/services_paymentgateway.xml Thu Apr  9 19:45:31 2009
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
+    <description>Accounting Payment Gateway Configuration Services</description>
+    <vendor>OFBiz</vendor>
+    <version>1.0</version>
+    
+    <!-- Payment Gateway Configuration Method services -->
+    <service name="updateGatewayConfiguration" engine="simple" location="org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml" invoke="updateGatewayConfiguration">
+        <description>Update Payment Gateway Configuration</description>
+        <auto-attributes entity-name="PaymentGatewayConfig" include="pk" mode="IN" optional="false"/>
+        <auto-attributes entity-name="PaymentGatewayConfig" include="nonpk" mode="IN" optional="true"/>
+    </service>
+    
+    <service name="updateGatewayConfigurationPayflowPro" engine="simple" location="org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml" invoke="updateGatewayConfigurationPayflowPro">
+        <description>Update Payment Gateway Configuration Payflow Pro</description>
+        <auto-attributes entity-name="PaymentGatewayPayflowPro" include="pk" mode="IN" optional="false"/>
+        <auto-attributes entity-name="PaymentGatewayPayflowPro" include="nonpk" mode="IN" optional="true"/>
+    </service>
+    
+    <service name="updateGatewayConfigurationClearCommerce" engine="simple" location="org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml" invoke="updateGatewayConfigurationClearCommerce">
+        <description>Update Payment Gateway Configuration Clear Commerce</description>
+        <auto-attributes entity-name="PaymentGatewayClearCommerce" include="pk" mode="IN" optional="false"/>
+        <auto-attributes entity-name="PaymentGatewayClearCommerce" include="nonpk" mode="IN" optional="true"/>
+    </service>
+    
+    <service name="updateGatewayConfigurationType" engine="simple" location="org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml" invoke="updateGatewayConfigurationType">
+        <description>Update Payment Gateway Configuration Type</description>
+        <auto-attributes entity-name="PaymentGatewayConfigType" include="pk" mode="IN" optional="false"/>
+        <auto-attributes entity-name="PaymentGatewayConfigType" include="nonpk" mode="IN" optional="true"/>
+    </service>
+</services>
\ No newline at end of file

Propchange: ofbiz/trunk/applications/accounting/servicedef/services_paymentgateway.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/accounting/servicedef/services_paymentgateway.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/accounting/servicedef/services_paymentgateway.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/trunk/applications/accounting/servicedef/services_paymentmethod.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_paymentmethod.xml?rev=763782&r1=763781&r2=763782&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/servicedef/services_paymentmethod.xml (original)
+++ ofbiz/trunk/applications/accounting/servicedef/services_paymentmethod.xml Thu Apr  9 19:45:31 2009
@@ -450,6 +450,7 @@
         <attribute name="captureMessage" type="String" mode="OUT" optional="true"/>
         <attribute name="internalRespMsgs" type="List" mode="OUT" optional="true"/>
         <attribute name="customerRespMsgs" type="List" mode="OUT" optional="true"/>
+        <attribute name="paymentGatewayConfigId" type="String" mode="IN" optional="true"/>
     </service>
 
     <service name="paymentReleaseInterface" engine="interface" location="" invoke="">
@@ -466,6 +467,7 @@
         <attribute name="releaseFlag" type="String" mode="OUT" optional="true"/>
         <attribute name="releaseMessage" type="String" mode="OUT" optional="true"/>
         <attribute name="internalRespMsgs" type="List" mode="OUT" optional="true"/>
+        <attribute name="paymentGatewayConfigId" type="String" mode="IN" optional="true"/>
     </service>
 
     <service name="paymentCreditInterface" engine="interface" location="" invoke="">
@@ -485,6 +487,7 @@
         <attribute name="creditFlag" type="String" mode="OUT" optional="true"/>
         <attribute name="creditMessage" type="String" mode="OUT" optional="true"/>
         <attribute name="internalRespMsgs" type="List" mode="OUT" optional="true"/>
+        <attribute name="paymentGatewayConfigId" type="String" mode="IN" optional="true"/>
     </service>
 
     <service name="paymentRefundInterface" engine="interface" location="" invoke="">
@@ -500,6 +503,7 @@
         <attribute name="refundFlag" type="String" mode="OUT" optional="true"/>
         <attribute name="refundMessage" type="String" mode="OUT" optional="true"/>
         <attribute name="internalRespMsgs" type="List" mode="OUT" optional="true"/>
+        <attribute name="paymentGatewayConfigId" type="String" mode="IN" optional="true"/>
     </service>
 
     <!-- Credit Card Interfaces -->
@@ -524,6 +528,7 @@
         <attribute name="captureFlag" type="String" mode="OUT" optional="true"/>
         <attribute name="captureMessage" type="String" mode="OUT" optional="true"/>
         <attribute name="internalRespMsgs" type="List" mode="OUT" optional="true"/>
+        <attribute name="paymentGatewayConfigId" type="String" mode="IN" optional="true"/>
     </service>
 
     <service name="ccCreditInterface" engine="interface" location="" invoke="">

Modified: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java?rev=763782&r1=763781&r2=763782&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java (original)
+++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java Thu Apr  9 19:45:31 2009
@@ -98,7 +98,7 @@
      *
      * TODO: it might be nice to return the paymentGatewayResponseId
      */
-    public static Map authOrderPaymentPreference(DispatchContext dctx, Map context) {
+    public static Map<String, Object> authOrderPaymentPreference(DispatchContext dctx, Map<String, ? extends Object> context) {
         GenericDelegator delegator = dctx.getDelegator();
         LocalDispatcher dispatcher = dctx.getDispatcher();
         GenericValue userLogin = (GenericValue) context.get("userLogin");
@@ -161,7 +161,7 @@
 
         // if our transaction amount exists and is zero, there's nothing to process, so return
         if ((transAmount != null) && (transAmount.compareTo(BigDecimal.ZERO) <= 0)) {
-            Map results = ServiceUtil.returnSuccess();
+            Map<String, Object> results = ServiceUtil.returnSuccess();
             results.put("finished", Boolean.TRUE); // finished is true since there is nothing to do
             results.put("errors", Boolean.FALSE); // errors is false since no error occured
             return results;
@@ -169,7 +169,7 @@
 
         try {
             // call the authPayment method
-            Map authPaymentResult = authPayment(dispatcher, userLogin, orh, orderPaymentPreference, totalRemaining, reAuth, transAmount);
+            Map<String, Object> authPaymentResult = authPayment(dispatcher, userLogin, orh, orderPaymentPreference, totalRemaining, reAuth, transAmount);
 
             // handle the response
             if (authPaymentResult != null) {
@@ -180,7 +180,7 @@
                 try {
                     boolean processResult = processResult(dctx, authPaymentResult, userLogin, orderPaymentPreference);
                     if (processResult) {
-                        Map results = ServiceUtil.returnSuccess();
+                        Map<String, Object> results = ServiceUtil.returnSuccess();
                         results.put("messages", authPaymentResult.get("customerRespMsgs"));
                         results.put("processAmount", thisAmount);
                         results.put("finished", Boolean.TRUE);
@@ -225,7 +225,7 @@
 
                                             // change OrderPaymentPreference in memory only and call auth service
                                             orderPaymentPreference.set("paymentMethodId", otherPaymentMethodAndCreditCard.getString("paymentMethodId"));
-                                            Map authRetryResult = authPayment(dispatcher, userLogin, orh, orderPaymentPreference, totalRemaining, reAuth, transAmount);
+                                            Map<String, Object> authRetryResult = authPayment(dispatcher, userLogin, orh, orderPaymentPreference, totalRemaining, reAuth, transAmount);
                                             try {
                                                 boolean processRetryResult = processResult(dctx, authPaymentResult, userLogin, orderPaymentPreference);
 
@@ -234,7 +234,7 @@
                                                     // on success save the OrderPaymentPreference, and then return finished (which will break from loop)
                                                     orderPaymentPreference.store();
 
-                                                    Map results = ServiceUtil.returnSuccess();
+                                                    Map<String, Object> results = ServiceUtil.returnSuccess();
                                                     results.put("messages", authRetryResult.get("customerRespMsgs"));
                                                     results.put("processAmount", thisAmount);
                                                     results.put("finished", Boolean.TRUE);
@@ -244,7 +244,7 @@
                                             } catch (GeneralException e) {
                                                 String errMsg = "Error saving and processing payment authorization results: " + e.toString();
                                                 Debug.logError(e, errMsg + "; authRetryResult: " + authRetryResult, module);
-                                                Map results = ServiceUtil.returnSuccess();
+                                                Map<String, Object> results = ServiceUtil.returnSuccess();
                                                 results.put(ModelService.ERROR_MESSAGE, errMsg);
                                                 results.put("finished", Boolean.FALSE);
                                                 results.put("errors", Boolean.TRUE);
@@ -258,7 +258,7 @@
                             }
                         }
 
-                        Map results = ServiceUtil.returnSuccess();
+                        Map<String, Object> results = ServiceUtil.returnSuccess();
                         results.put("messages", authPaymentResult.get("customerRespMsgs"));
                         results.put("finished", Boolean.FALSE);
                         results.put("errors", Boolean.FALSE);
@@ -267,7 +267,7 @@
                 } catch (GeneralException e) {
                     String errMsg = "Error saving and processing payment authorization results: " + e.toString();
                     Debug.logError(e, errMsg + "; authPaymentResult: " + authPaymentResult, module);
-                    Map results = ServiceUtil.returnSuccess();
+                    Map<String, Object> results = ServiceUtil.returnSuccess();
                     results.put(ModelService.ERROR_MESSAGE, errMsg);
                     results.put("finished", Boolean.FALSE);
                     results.put("errors", Boolean.TRUE);
@@ -277,7 +277,7 @@
                 // error with payment processor; will try later
                 String errMsg = "Invalid Order Payment Preference: maxAmount is 0";
                 Debug.logInfo(errMsg, module);
-                Map results = ServiceUtil.returnSuccess();
+                Map<String, Object> results = ServiceUtil.returnSuccess();
                 results.put("finished", Boolean.FALSE);
                 results.put("errors", Boolean.TRUE);
                 results.put(ModelService.ERROR_MESSAGE, errMsg);
@@ -416,9 +416,10 @@
     }
 
 
-    private static Map authPayment(LocalDispatcher dispatcher, GenericValue userLogin, OrderReadHelper orh, GenericValue paymentPreference, BigDecimal totalRemaining, boolean reauth, BigDecimal overrideAmount) throws GeneralException {
+    private static Map<String, Object> authPayment(LocalDispatcher dispatcher, GenericValue userLogin, OrderReadHelper orh, GenericValue paymentPreference, BigDecimal totalRemaining, boolean reauth, BigDecimal overrideAmount) throws GeneralException {
         String paymentConfig = null;
         String serviceName = null;
+        String paymentGatewayConfigId = null;
 
         // get the payment settings i.e. serviceName and config properties file name
         String serviceType = AUTH_SERVICE_TYPE;
@@ -428,8 +429,15 @@
 
         GenericValue paymentSettings = getPaymentSettings(orh.getOrderHeader(), paymentPreference, serviceType, false);
         if (paymentSettings != null) {
-            serviceName = paymentSettings.getString("paymentService");
+            String customMethodId = paymentSettings.getString("paymentCustomMethodId");
+            if (UtilValidate.isNotEmpty(customMethodId)) {
+                serviceName = getPaymentCustomMethod(orh.getOrderHeader().getDelegator(), customMethodId);
+            }
+            if (UtilValidate.isEmpty(serviceName)) {
+                serviceName = paymentSettings.getString("paymentService");
+            }
             paymentConfig = paymentSettings.getString("paymentPropertiesPath");
+            paymentGatewayConfigId = paymentSettings.getString("paymentGatewayConfigId");
         } else {
             throw new GeneralException("Could not find any valid payment settings for order with ID [" + orh.getOrderId() + "], and payment operation (serviceType) [" + serviceType + "]");
         }
@@ -440,7 +448,7 @@
         }
 
         // make the process context
-        Map processContext = new HashMap();
+        Map<String, Object> processContext = FastMap.newInstance();
 
         // get the visit record to obtain the client's IP address
         GenericValue orderHeader = orh.getOrderHeader();
@@ -467,6 +475,7 @@
         processContext.put("orderItems", orh.getOrderItems());
         processContext.put("shippingAddress", EntityUtil.getFirst(orh.getShippingLocations())); // TODO refactor the payment API to handle support all addresses
         processContext.put("paymentConfig", paymentConfig);
+        processContext.put("paymentGatewayConfigId", paymentGatewayConfigId);
         processContext.put("currency", orh.getCurrency());
         processContext.put("orderPaymentPreference", paymentPreference);
         if (paymentPreference.get("securityCode") != null) {
@@ -498,7 +507,7 @@
         processContext.put("processAmount", processAmount);
 
         // invoke the processor
-        Map processorResult = null;
+        Map<String, Object> processorResult = null;
         try {
             // invoke the payment processor; allow 5 minute transaction timeout and require a new tx; we'll capture the error and pass back nicely
 
@@ -788,12 +797,21 @@
         // look up the payment configuration settings
         String serviceName = null;
         String paymentConfig = null;
+        String paymentGatewayConfigId = null;
 
         // get the payment settings i.e. serviceName and config properties file name
         GenericValue paymentSettings = getPaymentSettings(orderHeader, paymentPref, RELEASE_SERVICE_TYPE, false);
         if (paymentSettings != null) {
+            String customMethodId = paymentSettings.getString("paymentCustomMethodId");
+            if (UtilValidate.isNotEmpty(customMethodId)) {
+                serviceName = getPaymentCustomMethod(orh.getOrderHeader().getDelegator(), customMethodId);
+            }
+            if (UtilValidate.isEmpty(serviceName)) {
+                serviceName = paymentSettings.getString("paymentService");
+            }
             paymentConfig = paymentSettings.getString("paymentPropertiesPath");
-            serviceName = paymentSettings.getString("paymentService");
+            paymentGatewayConfigId = paymentSettings.getString("paymentGatewayConfigId");
+            
             if (serviceName == null) {
                 String errMsg = "No payment release service for - " + paymentPref.getString("paymentMethodTypeId");
                 Debug.logWarning(errMsg, module);
@@ -815,6 +833,7 @@
         releaseContext.put("releaseAmount", authTransaction.getBigDecimal("amount"));
         releaseContext.put("currency", currency);
         releaseContext.put("paymentConfig", paymentConfig);
+        releaseContext.put("paymentGatewayConfigId", paymentGatewayConfigId);
         releaseContext.put("userLogin", userLogin);
 
         // run the defined service
@@ -1470,12 +1489,21 @@
         // look up the payment configuration settings
         String serviceName = null;
         String paymentConfig = null;
+        String paymentGatewayConfigId = null;
 
         // get the payment settings i.e. serviceName and config properties file name
         GenericValue paymentSettings = getPaymentSettings(orh.getOrderHeader(), paymentPref, CAPTURE_SERVICE_TYPE, false);
         if (paymentSettings != null) {
+            String customMethodId = paymentSettings.getString("paymentCustomMethodId");
+            if (UtilValidate.isNotEmpty(customMethodId)) {
+                serviceName = getPaymentCustomMethod(orh.getOrderHeader().getDelegator(), customMethodId);
+            }
+            if (UtilValidate.isEmpty(serviceName)) {
+                serviceName = paymentSettings.getString("paymentService");
+            }
             paymentConfig = paymentSettings.getString("paymentPropertiesPath");
-            serviceName = paymentSettings.getString("paymentService");
+            paymentGatewayConfigId = paymentSettings.getString("paymentGatewayConfigId");
+            
             if (serviceName == null) {
                 Debug.logError("Service name is null for payment setting; cannot process", module);
                 return null;
@@ -1529,6 +1557,7 @@
         captureContext.put("userLogin", userLogin);
         captureContext.put("orderPaymentPreference", paymentPref);
         captureContext.put("paymentConfig", paymentConfig);
+        captureContext.put("paymentGatewayConfigId", paymentGatewayConfigId);
         captureContext.put("currency", orh.getCurrency());
 
         // this is necessary because the ccCaptureInterface uses "captureAmount" but the paymentProcessInterface uses "processAmount"
@@ -2183,14 +2212,26 @@
         if (orderHeader != null) {
             paymentSettings = getPaymentSettings(orderHeader, paymentPref, REFUND_SERVICE_TYPE, false);
         }
-
+        
+        String serviceName = null;
+        String paymentGatewayConfigId = null;
+        
         if (paymentSettings != null) {
+            String customMethodId = paymentSettings.getString("paymentCustomMethodId");
+            if (UtilValidate.isNotEmpty(customMethodId)) {
+                serviceName = getPaymentCustomMethod(orh.getOrderHeader().getDelegator(), customMethodId);
+            }
+            if (UtilValidate.isEmpty(serviceName)) {
+                serviceName = paymentSettings.getString("paymentService");
+            }
             String paymentConfig = paymentSettings.getString("paymentPropertiesPath");
-            String serviceName = paymentSettings.getString("paymentService");
+            paymentGatewayConfigId = paymentSettings.getString("paymentGatewayConfigId");
+            
             if (serviceName != null) {
                 Map serviceContext = new HashMap();
                 serviceContext.put("orderPaymentPreference", paymentPref);
                 serviceContext.put("paymentConfig", paymentConfig);
+                serviceContext.put("paymentGatewayConfigId", paymentGatewayConfigId);
                 serviceContext.put("currency", orh.getCurrency());
 
                 // get the creditCard/address/email
@@ -2712,15 +2753,24 @@
         }
 
         // get the transaction settings
-        String paymentService;
-        String paymentConfig;
+        String paymentService = null;
+        String paymentConfig = null;
+        String paymentGatewayConfigId = null;
 
         GenericValue paymentSettings = ProductStoreWorker.getProductStorePaymentSetting(delegator, productStoreId, "CREDIT_CARD", "PRDS_PAY_AUTH", false);
         if (paymentSettings == null) {
             return ServiceUtil.returnError("No valid payment settings found for : " + productStoreId + "/" + "");
         } else {
-            paymentService = paymentSettings.getString("paymentService");
+            String customMethodId = paymentSettings.getString("paymentCustomMethodId");
+            if (UtilValidate.isNotEmpty(customMethodId)) {
+                paymentService = getPaymentCustomMethod(delegator, customMethodId);
+            }
+            if (UtilValidate.isEmpty(paymentService)) {
+                paymentService = paymentSettings.getString("paymentService");
+            }
             paymentConfig = paymentSettings.getString("paymentPropertiesPath");
+            paymentGatewayConfigId = paymentSettings.getString("paymentGatewayConfigId");
+            
             if (UtilValidate.isEmpty(paymentConfig)) {
                 paymentConfig = "payment.properties";
             }
@@ -2751,6 +2801,7 @@
         authContext.put("billToParty", billToParty);
         authContext.put("currency", currency);
         authContext.put("paymentConfig", paymentConfig);
+        authContext.put("paymentGatewayConfigId", paymentGatewayConfigId);
         authContext.put("processAmount", amount);
         authContext.put("userLogin", userLogin);
 
@@ -2807,15 +2858,24 @@
         Map requestContext = new HashMap();
         String paymentService = null;
         String paymentConfig = null;
+        String paymentGatewayConfigId = null;
 
         // get the transaction settings
         GenericValue paymentSettings = ProductStoreWorker.getProductStorePaymentSetting(delegator, productStoreId, paymentMethodTypeId, transactionType, false);
         if (paymentSettings == null) {
             return ServiceUtil.returnError("No valid payment settings found for : " + productStoreId + "/" + transactionType);
         } else {
+            String customMethodId = paymentSettings.getString("paymentCustomMethodId");
+            if (UtilValidate.isNotEmpty(customMethodId)) {
+                paymentService = getPaymentCustomMethod(delegator, customMethodId);
+            }
+            if (UtilValidate.isEmpty(paymentService)) {
+                paymentService = paymentSettings.getString("paymentService");
+            }
             paymentConfig = paymentSettings.getString("paymentPropertiesPath");
-            paymentService = paymentSettings.getString("paymentService");
+            paymentGatewayConfigId = paymentSettings.getString("paymentGatewayConfigId");
             requestContext.put("paymentConfig", paymentConfig);
+            requestContext.put("paymentGatewayConfigId", paymentGatewayConfigId);
         }
 
         // check the service name
@@ -3287,4 +3347,18 @@
         result.put("refundMessage", "This is a test refund failure; no money was transferred");
         return result;
     }
+    
+    public static String getPaymentCustomMethod(GenericDelegator delegator, String customMethodId) {
+        String serviceName = null;
+        GenericValue customMethod = null;
+        try {
+            customMethod = delegator.findOne("CustomMethod", UtilMisc.toMap("customMethodId", customMethodId), false);
+            if (UtilValidate.isNotEmpty(customMethod)) {
+                serviceName = customMethod.getString("customMethodName");
+            }
+        } catch (GenericEntityException e) {
+            Debug.logError(e, module);
+        }
+        return serviceName;
+    }
 }

Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?rev=763782&r1=763781&r2=763782&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Thu Apr  9 19:45:31 2009
@@ -405,7 +405,49 @@
         <event type="service" invoke="manualForcedCcTransaction"/>
         <response name="success" type="view" value="ManualTransaction"/>
     </request-map>
-
+    
+    <!-- Payment Gateway Configurations --> 
+    <request-map uri="FindGatewayConfigurations">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="FindGatewayConfigurations"/>
+    </request-map>
+    <request-map uri="ViewGatewayConfiguration">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="ViewGatewayConfiguration"/>
+    </request-map>
+    <request-map uri="UpdateGatewayConfiguration">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updateGatewayConfiguration"/>
+        <response name="success" type="view" value="ViewGatewayConfiguration"/>
+        <response name="error" type="view" value="ViewGatewayConfiguration"/>
+    </request-map>
+    <request-map uri="UpdateGatewayConfigurationPayflowPro">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updateGatewayConfigurationPayflowPro"/>
+        <response name="success" type="view" value="ViewGatewayConfiguration"/>
+        <response name="error" type="view" value="ViewGatewayConfiguration"/>
+    </request-map>
+    <request-map uri="UpdateGatewayConfigurationClearCommerce">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updateGatewayConfigurationClearCommerce"/>
+        <response name="success" type="view" value="ViewGatewayConfiguration"/>
+        <response name="error" type="view" value="ViewGatewayConfiguration"/>
+    </request-map>
+    <request-map uri="FindGatewayConfigurationTypes">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="FindGatewayConfigurationTypes"/>
+    </request-map>
+    <request-map uri="ViewGatewayConfigurationType">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="ViewGatewayConfigurationType"/>
+    </request-map>
+    <request-map uri="UpdateGatewayConfigurationType">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updateGatewayConfigurationType"/>
+        <response name="success" type="view" value="ViewGatewayConfigurationType"/>
+        <response name="error" type="view" value="ViewGatewayConfigurationType"/>
+    </request-map>
+    
     <!-- TO BE REMOVED
     <request-map uri="TransactionReports">
         <security https="true" auth="true"/>
@@ -2108,6 +2150,12 @@
     <view-map name="AuthorizeTransaction" page="component://accounting/widget/TransactionScreens.xml#AuthorizeTransaction" type="screen"/>
     <view-map name="CaptureTransaction" page="component://accounting/widget/TransactionScreens.xml#CaptureTransaction" type="screen"/>
 
+    <!-- Payment Gateway Configurations -->
+    <view-map name="FindGatewayConfigurations" page="component://accounting/widget/PaymentGatewayConfigurationsScreens.xml#FindGatewayConfigurations" type="screen"/>
+    <view-map name="ViewGatewayConfiguration" page="component://accounting/widget/PaymentGatewayConfigurationsScreens.xml#ViewGatewayConfiguration" type="screen"/>
+    <view-map name="FindGatewayConfigurationTypes" page="component://accounting/widget/PaymentGatewayConfigurationsScreens.xml#FindGatewayConfigurationTypes" type="screen"/>
+    <view-map name="ViewGatewayConfigurationType" page="component://accounting/widget/PaymentGatewayConfigurationsScreens.xml#ViewGatewayConfigurationType" type="screen"/>
+    
     <!-- TO BE REMOVED
     <view-map name="TransactionReports" page="component://accounting/widget/TransactionScreens.xml#TransactionReports" type="screen"/>
     -->

Modified: ofbiz/trunk/applications/accounting/widget/Menus.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/Menus.xml?rev=763782&r1=763781&r2=763782&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/Menus.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/Menus.xml Thu Apr  9 19:45:31 2009
@@ -30,6 +30,7 @@
             </condition>
             <link target="FindGatewayResponses"/>
         </menu-item>
+        <menu-item name="PaymentGateways" title="${uiLabelMap.AccountingPaymentGatewayConfigurations}"><link target="FindGatewayConfigurations"/></menu-item>
         <menu-item name="billingaccount" title="${uiLabelMap.AccountingBillingMenu}"><link target="FindBillingAccount"/></menu-item>
         <menu-item name="FindFinAccount" title="${uiLabelMap.AccountingFinAccount}"><link target="FindFinAccount"/></menu-item>
         <menu-item name="TaxAuthorities" title="${uiLabelMap.AccountingTaxAuthorities}"><link target="FindTaxAuthority"/></menu-item>
@@ -946,4 +947,13 @@
             <link target="ManualTransaction"/>
         </menu-item>
     </menu>
+    
+    <menu name="PaymentGatewayTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
+        <menu-item name="paymentGatewayConfigurationsTab" title="${uiLabelMap.AccountingPaymentGatewayConfigurations}">
+            <link target="FindGatewayConfigurations"/>
+        </menu-item>
+        <menu-item name="paymentGatewayConfigurationTypesTab" title="${uiLabelMap.AccountingPaymentGatewayConfigurationTypes}">
+            <link target="FindGatewayConfigurationTypes"/>
+        </menu-item>
+    </menu>
 </menus>



Re: svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/

Posted by Ashish Vijaywargiya <as...@hotwaxmedia.com>.
 >> Hello Marco,

 >> Thanks for your wonderful work in this area.
 >> I truly appreciate your efforts.

In my initial email I have given thanks to Marco ... and he deserve for 
that.
I think you have missed that  .... may be due to your super fast working 
style ;0).

I had given thanks to you and David because you guys have shared your 
thoughts on my comment.

Thanks once again Marco, Jacques & David ! (I guess now the order of 
included person in this line solves our purpose :-) )

--
Ashish

Jacques Le Roux wrote:
> Actualluy we should better thank Marco! ;o)
>
> Jacques
>
>

Re: svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/

Posted by Jacques Le Roux <ja...@les7arts.com>.
Actualluy we should better thank Marco! ;o)

Jacques

From: "Ashish Vijaywargiya" <as...@hotwaxmedia.com>
> Thanks Jacques & David.
> 
> --
> Ashish
> 
> Jacques Le Roux wrote:
>> Thanks for the clarification David
>>
>> Jacques
>>
>> From: "David E Jones" <da...@hotwaxmedia.com>
>>> On Apr 14, 2009, at 1:57 PM, Jacques Le Roux wrote:
>>>
>>>> From: "David E Jones" <da...@hotwaxmedia.com>
>>>>> On Apr 14, 2009, at 11:21 AM, Jacques Le Roux wrote:
>>>>>
>>>>>> From: "Ashish Vijaywargiya" <as...@hotwaxmedia.com>
>>>>>> Hello Marco,
>>>>>>
>>>>>> Thanks for your wonderful work in this area.
>>>>>> I truly appreciate your efforts.
>>>>>>
>>>>>> Here are few thoughts / comments :
>>>>>>
>>>>>> 1) We are saving password as it is.
>>>>>> https://localhost:8443/accounting/control/ViewGatewayConfiguration?paymentGatewayConfigId=PAYFLOWPRO_CONFIG 
>>>>>>
>>>>>> I think we should encrypt the password before saving it to  
>>>>>> database  and
>>>>>> will not show the password as it is while fetching it from database.
>>>>>> Thoughts ?
>>>>>>
>>>>>> +1, using what we already use (also SHA that should be salted at   
>>>>>> some point in the future)
>>>>>
>>>>> These are all good changes, so thanks to Jacques and especially  
>>>>> Ashish  for the comments.
>>>>>
>>>>> For the gateway password encryption we'll want to use the Entity   
>>>>> Engine's built-in two-way encryption. We can't use SHA/hash  
>>>>> encryption  because we have to be able to decrypt these passwords  
>>>>> to send them to  the payment gateway (ie they would never accept a  
>>>>> hashed form of the  password, that is a big security hole and  
>>>>> basically nullifies most of  the benefit of the hash, which is why  
>>>>> by default we don't allow that  in OFBiz either).
>>>>>
>>>>> -David
>>>>
>>>> Hi David,
>>>>
>>>> I understand that we need a 2 ways encryption for a payment gateway.
>>>> But about SHA I'm not quite sure to understand. SHA means Secure  
>>>> Hash Algorithm, so why do you add /ash after SHA ?
>>>> I know we use SHA for login password, so I'm no sure of what you  
>>>> mean. Do you mean that we should not use salted SHA  in OFBiz at all ?
>>>
>>> SHA is a hash algorithm, but there are other hash algorithms and 
>>> that  is why I wrote "SHA/hash".
>>>
>>> My main point is that a normal password hash algorithm is not 
>>> relevant  here as it can't be used when 2-way encryption is needed, 
>>> that's all.
>>>
>>> -David
>>>
>>
>


Re: svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/

Posted by Ashish Vijaywargiya <as...@hotwaxmedia.com>.
Thanks Jacques & David.

--
Ashish

Jacques Le Roux wrote:
> Thanks for the clarification David
>
> Jacques
>
> From: "David E Jones" <da...@hotwaxmedia.com>
>> On Apr 14, 2009, at 1:57 PM, Jacques Le Roux wrote:
>>
>>> From: "David E Jones" <da...@hotwaxmedia.com>
>>>> On Apr 14, 2009, at 11:21 AM, Jacques Le Roux wrote:
>>>>
>>>>> From: "Ashish Vijaywargiya" <as...@hotwaxmedia.com>
>>>>> Hello Marco,
>>>>>
>>>>> Thanks for your wonderful work in this area.
>>>>> I truly appreciate your efforts.
>>>>>
>>>>> Here are few thoughts / comments :
>>>>>
>>>>> 1) We are saving password as it is.
>>>>> https://localhost:8443/accounting/control/ViewGatewayConfiguration?paymentGatewayConfigId=PAYFLOWPRO_CONFIG 
>>>>>
>>>>> I think we should encrypt the password before saving it to  
>>>>> database  and
>>>>> will not show the password as it is while fetching it from database.
>>>>> Thoughts ?
>>>>>
>>>>> +1, using what we already use (also SHA that should be salted at   
>>>>> some point in the future)
>>>>
>>>> These are all good changes, so thanks to Jacques and especially  
>>>> Ashish  for the comments.
>>>>
>>>> For the gateway password encryption we'll want to use the Entity   
>>>> Engine's built-in two-way encryption. We can't use SHA/hash  
>>>> encryption  because we have to be able to decrypt these passwords  
>>>> to send them to  the payment gateway (ie they would never accept a  
>>>> hashed form of the  password, that is a big security hole and  
>>>> basically nullifies most of  the benefit of the hash, which is why  
>>>> by default we don't allow that  in OFBiz either).
>>>>
>>>> -David
>>>
>>> Hi David,
>>>
>>> I understand that we need a 2 ways encryption for a payment gateway.
>>> But about SHA I'm not quite sure to understand. SHA means Secure  
>>> Hash Algorithm, so why do you add /ash after SHA ?
>>> I know we use SHA for login password, so I'm no sure of what you  
>>> mean. Do you mean that we should not use salted SHA  in OFBiz at all ?
>>
>> SHA is a hash algorithm, but there are other hash algorithms and 
>> that  is why I wrote "SHA/hash".
>>
>> My main point is that a normal password hash algorithm is not 
>> relevant  here as it can't be used when 2-way encryption is needed, 
>> that's all.
>>
>> -David
>>
>

Re: svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/

Posted by Jacques Le Roux <ja...@les7arts.com>.
Thanks for the clarification David

Jacques

From: "David E Jones" <da...@hotwaxmedia.com>
> On Apr 14, 2009, at 1:57 PM, Jacques Le Roux wrote:
> 
>> From: "David E Jones" <da...@hotwaxmedia.com>
>>> On Apr 14, 2009, at 11:21 AM, Jacques Le Roux wrote:
>>>
>>>> From: "Ashish Vijaywargiya" <as...@hotwaxmedia.com>
>>>> Hello Marco,
>>>>
>>>> Thanks for your wonderful work in this area.
>>>> I truly appreciate your efforts.
>>>>
>>>> Here are few thoughts / comments :
>>>>
>>>> 1) We are saving password as it is.
>>>> https://localhost:8443/accounting/control/ViewGatewayConfiguration?paymentGatewayConfigId=PAYFLOWPRO_CONFIG
>>>> I think we should encrypt the password before saving it to  
>>>> database  and
>>>> will not show the password as it is while fetching it from database.
>>>> Thoughts ?
>>>>
>>>> +1, using what we already use (also SHA that should be salted at   
>>>> some point in the future)
>>>
>>> These are all good changes, so thanks to Jacques and especially  
>>> Ashish  for the comments.
>>>
>>> For the gateway password encryption we'll want to use the Entity   
>>> Engine's built-in two-way encryption. We can't use SHA/hash  
>>> encryption  because we have to be able to decrypt these passwords  
>>> to send them to  the payment gateway (ie they would never accept a  
>>> hashed form of the  password, that is a big security hole and  
>>> basically nullifies most of  the benefit of the hash, which is why  
>>> by default we don't allow that  in OFBiz either).
>>>
>>> -David
>>
>> Hi David,
>>
>> I understand that we need a 2 ways encryption for a payment gateway.
>> But about SHA I'm not quite sure to understand. SHA means Secure  
>> Hash Algorithm, so why do you add /ash after SHA ?
>> I know we use SHA for login password, so I'm no sure of what you  
>> mean. Do you mean that we should not use salted SHA  in OFBiz at all ?
> 
> SHA is a hash algorithm, but there are other hash algorithms and that  
> is why I wrote "SHA/hash".
> 
> My main point is that a normal password hash algorithm is not relevant  
> here as it can't be used when 2-way encryption is needed, that's all.
> 
> -David
>


Re: svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/

Posted by David E Jones <da...@hotwaxmedia.com>.
On Apr 14, 2009, at 1:57 PM, Jacques Le Roux wrote:

> From: "David E Jones" <da...@hotwaxmedia.com>
>> On Apr 14, 2009, at 11:21 AM, Jacques Le Roux wrote:
>>
>>> From: "Ashish Vijaywargiya" <as...@hotwaxmedia.com>
>>> Hello Marco,
>>>
>>> Thanks for your wonderful work in this area.
>>> I truly appreciate your efforts.
>>>
>>> Here are few thoughts / comments :
>>>
>>> 1) We are saving password as it is.
>>> https://localhost:8443/accounting/control/ViewGatewayConfiguration?paymentGatewayConfigId=PAYFLOWPRO_CONFIG
>>> I think we should encrypt the password before saving it to  
>>> database  and
>>> will not show the password as it is while fetching it from database.
>>> Thoughts ?
>>>
>>> +1, using what we already use (also SHA that should be salted at   
>>> some point in the future)
>>
>> These are all good changes, so thanks to Jacques and especially  
>> Ashish  for the comments.
>>
>> For the gateway password encryption we'll want to use the Entity   
>> Engine's built-in two-way encryption. We can't use SHA/hash  
>> encryption  because we have to be able to decrypt these passwords  
>> to send them to  the payment gateway (ie they would never accept a  
>> hashed form of the  password, that is a big security hole and  
>> basically nullifies most of  the benefit of the hash, which is why  
>> by default we don't allow that  in OFBiz either).
>>
>> -David
>
> Hi David,
>
> I understand that we need a 2 ways encryption for a payment gateway.
> But about SHA I'm not quite sure to understand. SHA means Secure  
> Hash Algorithm, so why do you add /ash after SHA ?
> I know we use SHA for login password, so I'm no sure of what you  
> mean. Do you mean that we should not use salted SHA  in OFBiz at all ?

SHA is a hash algorithm, but there are other hash algorithms and that  
is why I wrote "SHA/hash".

My main point is that a normal password hash algorithm is not relevant  
here as it can't be used when 2-way encryption is needed, that's all.

-David


Re: svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/

Posted by Jacques Le Roux <ja...@les7arts.com>.
From: "David E Jones" <da...@hotwaxmedia.com>
> On Apr 14, 2009, at 11:21 AM, Jacques Le Roux wrote:
>
>> From: "Ashish Vijaywargiya" <as...@hotwaxmedia.com>
>> Hello Marco,
>>
>> Thanks for your wonderful work in this area.
>> I truly appreciate your efforts.
>>
>> Here are few thoughts / comments :
>>
>> 1) We are saving password as it is.
>> https://localhost:8443/accounting/control/ViewGatewayConfiguration?paymentGatewayConfigId=PAYFLOWPRO_CONFIG
>> I think we should encrypt the password before saving it to database  and
>> will not show the password as it is while fetching it from database.
>> Thoughts ?
>>
>> +1, using what we already use (also SHA that should be salted at  some point in the future)
>
> These are all good changes, so thanks to Jacques and especially Ashish  for the comments.
>
> For the gateway password encryption we'll want to use the Entity  Engine's built-in two-way encryption. We can't use SHA/hash 
> encryption  because we have to be able to decrypt these passwords to send them to  the payment gateway (ie they would never accept 
> a hashed form of the  password, that is a big security hole and basically nullifies most of  the benefit of the hash, which is why 
> by default we don't allow that  in OFBiz either).
>
> -David

Hi David,

I understand that we need a 2 ways encryption for a payment gateway.
But about SHA I'm not quite sure to understand. SHA means Secure Hash Algorithm, so why do you add /ash after SHA ?
I know we use SHA for login password, so I'm no sure of what you mean. Do you mean that we should not use salted SHA  in OFBiz at 
all ?

Jacques




Re: svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/

Posted by David E Jones <da...@hotwaxmedia.com>.
On Apr 14, 2009, at 11:21 AM, Jacques Le Roux wrote:

> From: "Ashish Vijaywargiya" <as...@hotwaxmedia.com>
> Hello Marco,
>
> Thanks for your wonderful work in this area.
> I truly appreciate your efforts.
>
> Here are few thoughts / comments :
>
> 1) We are saving password as it is.
> https://localhost:8443/accounting/control/ViewGatewayConfiguration?paymentGatewayConfigId=PAYFLOWPRO_CONFIG
> I think we should encrypt the password before saving it to database  
> and
> will not show the password as it is while fetching it from database.
> Thoughts ?
>
> +1, using what we already use (also SHA that should be salted at  
> some point in the future)

These are all good changes, so thanks to Jacques and especially Ashish  
for the comments.

For the gateway password encryption we'll want to use the Entity  
Engine's built-in two-way encryption. We can't use SHA/hash encryption  
because we have to be able to decrypt these passwords to send them to  
the payment gateway (ie they would never accept a hashed form of the  
password, that is a big security hole and basically nullifies most of  
the benefit of the hash, which is why by default we don't allow that  
in OFBiz either).

-David


Re: svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/

Posted by Jacques Le Roux <ja...@les7arts.com>.
From: "Ashish Vijaywargiya" <as...@hotwaxmedia.com>
Hello Marco,

Thanks for your wonderful work in this area.
I truly appreciate your efforts.

Here are few thoughts / comments :

1) We are saving password as it is.
https://localhost:8443/accounting/control/ViewGatewayConfiguration?paymentGatewayConfigId=PAYFLOWPRO_CONFIG
I think we should encrypt the password before saving it to database and
will not show the password as it is while fetching it from database.
Thoughts ?

+1, using what we already use (also SHA that should be salted at some point in the future)

2) We should change the name of service in the service definition and
implementation.
For example you have used "updateGatewayConfiguration" instead of this
if we use "updatePaymentGatewayConfig" then it will help developers to
easily see the referenced entity.
Same applies to other references like
updateGatewayConfigurationPayflowPro,
updateGatewayConfigurationClearCommerce .... etc.

3) We should change request map entries to follow the best practice as
well.
For ex : ViewGatewayConfigurationType, ViewGatewayConfiguration can be
changed EditPaymentGatewayConfigType & EditPaymentGatewayConfig
respectively.

I am requesting you to change this now (Refer #3 & #4 points) because
newcomers start coding and can take reference of this code.

+1

Jacques

4) Do you have some some plan to provide the form and services to create
new "PaymentGatewayConfig" & "PaymentGatewayConfigType" records ?

--
Ashish Vijaywargiya



mrisaliti@apache.org wrote:
> Author: mrisaliti
> Date: Thu Apr  9 19:45:31 2009
> New Revision: 763782
>
> URL: http://svn.apache.org/viewvc?rev=763782&view=rev
> Log:
> Move payment.properties to PaymentGatewayConfig entities (OFBIZ-2269)
>
> Added:
>     ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml   (with props)
>     ofbiz/trunk/applications/accounting/servicedef/services_paymentgateway.xml   (with props)
>     ofbiz/trunk/applications/accounting/widget/PaymentGatewayConfigurationsForms.xml   (with props)
>     ofbiz/trunk/applications/accounting/widget/PaymentGatewayConfigurationsScreens.xml   (with props)
>     ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/store/EditProductStorePaySetup.groovy   (with props)
> Modified:
>     ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
>     ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml
>     ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
>     ofbiz/trunk/applications/accounting/ofbiz-component.xml
>     ofbiz/trunk/applications/accounting/servicedef/services_paymentmethod.xml
>     ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java
>     ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
>     ofbiz/trunk/applications/accounting/widget/Menus.xml
>     ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>     ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>     ofbiz/trunk/applications/product/servicedef/services_store.xml
>     ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreForms.xml
>     ofbiz/trunk/applications/product/widget/catalog/StoreScreens.xml
>     ofbiz/trunk/specialpurpose/ecommerce/data/DemoFinAccount.xml
>     ofbiz/trunk/specialpurpose/ecommerce/data/DemoProduct.xml
>     ofbiz/trunk/specialpurpose/ecommerce/data/DemoRentalProduct.xml
>     ofbiz/trunk/specialpurpose/ecommerce/data/DemoStoreGiftCertificateSettings.xml
>     ofbiz/trunk/specialpurpose/pos/data/DemoRetail.xml
>     ofbiz/trunk/specialpurpose/webpos/data/DemoPosData.xml
>
> Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
> URL: 
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=763782&r1=763781&r2=763782&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml (original)
> +++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml Thu Apr  9 19:45:31 2009
> @@ -5474,6 +5474,30 @@
>          <value xml:lang="th">à ¸£à ¸²à ¸¢à ¸à ¸²à ¸£à ¸ªà ¸Â-à ¸²à ¸ÂTà ¸°à ¸à ¸¥à ¸¸à ¹Â^à ¸¡à 
> ¸Âoà ¸¹à ¹Â?à ¹Âfà ¸ÂSà ¹Â?</value>
>          <value xml:lang="zh">ä¼ÂsÃ¥Â'Â~è§Â'èÂ?²åÂ^Â-表</value>
>      </property>
> +    <property key="AccountingPayflowProLoggingOff">
> +        <value xml:lang="en">Logging Off</value>
> +        <value xml:lang="it">Log disabilitato</value>
> +    </property>
>
>




Re: svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/

Posted by Jacques Le Roux <ja...@les7arts.com>.
Yes advices are always easier than coding (at least when they are goods it helps ;o)

Jacques

From: <ri...@gmail.com>
> Hi Ashish,
>
> all those requests are really make sense to me but I didn't know when  we can implement it.
>
> I'm now changing PayflowPro integration to support new version 4  because from September 2009 v2 & v3 will be no more function.
>
> In the same moment I willl support new PaymentGatewayConfig for  PayflowPro.
>
> I have also made same changes to support Google Checkout integration  with PaymentGatewayConfig but there are still a lot of 
> gateways to be  converted to the new configuration (ClearCommerce, Authorize dot net,  CyberSource, PcCharge, RIta, ValueLink, 
> WorldPay).
>
> Thanks
> Marco
>
> Il giorno 14/apr/09, alle ore 10:11, Ashish Vijaywargiya ha scritto:
>
>> Hello Marco,
>>
>> Thanks for your wonderful work in this area.
>> I truly appreciate your efforts.
>>
>> Here are few thoughts / comments :
>>
>> 1) We are saving password as it is.
>> https://localhost:8443/accounting/control/ViewGatewayConfiguration?paymentGatewayConfigId=PAYFLOWPRO_CONFIG
>> I think we should encrypt the password before saving it to database  and will not show the password as it is while fetching it 
>> from  database.
>> Thoughts ?
>>
>> 2) We should change the name of service in the service definition  and implementation.
>> For example you have used "updateGatewayConfiguration" instead of  this if we use "updatePaymentGatewayConfig" then it will help 
>> developers to easily see the referenced entity.
>> Same applies to other references like  updateGatewayConfigurationPayflowPro,  updateGatewayConfigurationClearCommerce .... etc.
>>
>> 3) We should change request map entries to follow the best practice  as well.
>> For ex : ViewGatewayConfigurationType, ViewGatewayConfiguration can  be changed EditPaymentGatewayConfigType & 
>> EditPaymentGatewayConfig  respectively.
>>
>> I am requesting you to change this now (Refer #3 & #4 points)  because newcomers start coding and can take reference of this 
>> code.
>>
>> 4) Do you have some some plan to provide the form and services to  create new "PaymentGatewayConfig" & "PaymentGatewayConfigType" 
>> records ?
>>
>> --
>> Ashish Vijaywargiya
>>
>>
>>
>> mrisaliti@apache.org wrote:
>>> Author: mrisaliti
>>> Date: Thu Apr  9 19:45:31 2009
>>> New Revision: 763782
>>>
>>> URL: http://svn.apache.org/viewvc?rev=763782&view=rev
>>> Log:
>>> Move payment.properties to PaymentGatewayConfig entities (OFBIZ-2269)
>>>
>>> Added:
>>>    ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ payment/PaymentGatewayConfigServices.xml   (with props)
>>>    ofbiz/trunk/applications/accounting/servicedef/ services_paymentgateway.xml   (with props)
>>>    ofbiz/trunk/applications/accounting/widget/ PaymentGatewayConfigurationsForms.xml   (with props)
>>>    ofbiz/trunk/applications/accounting/widget/ PaymentGatewayConfigurationsScreens.xml   (with props)
>>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/ store/EditProductStorePaySetup.groovy   (with props)
>>> Modified:
>>>    ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
>>>    ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml
>>>    ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
>>>    ofbiz/trunk/applications/accounting/ofbiz-component.xml
>>>    ofbiz/trunk/applications/accounting/servicedef/ services_paymentmethod.xml
>>>    ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/ payment/PaymentGatewayServices.java
>>>    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/ controller.xml
>>>    ofbiz/trunk/applications/accounting/widget/Menus.xml
>>>    ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>>>    ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>>>    ofbiz/trunk/applications/product/servicedef/services_store.xml
>>>    ofbiz/trunk/applications/product/webapp/catalog/store/ ProductStoreForms.xml
>>>    ofbiz/trunk/applications/product/widget/catalog/StoreScreens.xml
>>>    ofbiz/trunk/specialpurpose/ecommerce/data/DemoFinAccount.xml
>>>    ofbiz/trunk/specialpurpose/ecommerce/data/DemoProduct.xml
>>>    ofbiz/trunk/specialpurpose/ecommerce/data/DemoRentalProduct.xml
>>>    ofbiz/trunk/specialpurpose/ecommerce/data/ DemoStoreGiftCertificateSettings.xml
>>>    ofbiz/trunk/specialpurpose/pos/data/DemoRetail.xml
>>>    ofbiz/trunk/specialpurpose/webpos/data/DemoPosData.xml
>>>
>>> Modified: ofbiz/trunk/applications/accounting/config/ AccountingUiLabels.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=763782&r1=763781&r2=763782&view=diff
>>> = = = = = = = = = =====================================================================
>>> --- ofbiz/trunk/applications/accounting/config/ AccountingUiLabels.xml (original)
>>> +++ ofbiz/trunk/applications/accounting/config/ AccountingUiLabels.xml Thu Apr  9 19:45:31 2009
>>> @@ -5474,6 +5474,30 @@
>>>         <value xml:lang="th">รายการสà¸-าà¸Tะกภ¥à¸¸à¹^มà¸oูà¹?à¹fà¸Sà¹?</value>
>>>         <value xml:lang="zh">ä¼så'~è§'è?²å^-表</value>
>>>     </property>
>>> +    <property key="AccountingPayflowProLoggingOff">
>>> +        <value xml:lang="en">Logging Off</value>
>>> +        <value xml:lang="it">Log disabilitato</value>
>>> +    </property>
>>>
>>>
>>
>
> 



Re: svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/...

Posted by "risalitim@gmail.com" <ri...@gmail.com>.
Hi Ashish,

all those requests are really make sense to me but I didn't know when  
we can implement it.

I'm now changing PayflowPro integration to support new version 4  
because from September 2009 v2 & v3 will be no more function.

In the same moment I willl support new PaymentGatewayConfig for  
PayflowPro.

I have also made same changes to support Google Checkout integration  
with PaymentGatewayConfig but there are still a lot of gateways to be  
converted to the new configuration (ClearCommerce, Authorize dot net,  
CyberSource, PcCharge, RIta, ValueLink, WorldPay).

Thanks
Marco

Il giorno 14/apr/09, alle ore 10:11, Ashish Vijaywargiya ha scritto:

> Hello Marco,
>
> Thanks for your wonderful work in this area.
> I truly appreciate your efforts.
>
> Here are few thoughts / comments :
>
> 1) We are saving password as it is.
> https://localhost:8443/accounting/control/ViewGatewayConfiguration?paymentGatewayConfigId=PAYFLOWPRO_CONFIG
> I think we should encrypt the password before saving it to database  
> and will not show the password as it is while fetching it from  
> database.
> Thoughts ?
>
> 2) We should change the name of service in the service definition  
> and implementation.
> For example you have used "updateGatewayConfiguration" instead of  
> this if we use "updatePaymentGatewayConfig" then it will help  
> developers to easily see the referenced entity.
> Same applies to other references like  
> updateGatewayConfigurationPayflowPro,  
> updateGatewayConfigurationClearCommerce .... etc.
>
> 3) We should change request map entries to follow the best practice  
> as well.
> For ex : ViewGatewayConfigurationType, ViewGatewayConfiguration can  
> be changed EditPaymentGatewayConfigType & EditPaymentGatewayConfig  
> respectively.
>
> I am requesting you to change this now (Refer #3 & #4 points)  
> because newcomers start coding and can take reference of this code.
>
> 4) Do you have some some plan to provide the form and services to  
> create new "PaymentGatewayConfig" & "PaymentGatewayConfigType"  
> records ?
>
> --
> Ashish Vijaywargiya
>
>
>
> mrisaliti@apache.org wrote:
>> Author: mrisaliti
>> Date: Thu Apr  9 19:45:31 2009
>> New Revision: 763782
>>
>> URL: http://svn.apache.org/viewvc?rev=763782&view=rev
>> Log:
>> Move payment.properties to PaymentGatewayConfig entities (OFBIZ-2269)
>>
>> Added:
>>    ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ 
>> payment/PaymentGatewayConfigServices.xml   (with props)
>>    ofbiz/trunk/applications/accounting/servicedef/ 
>> services_paymentgateway.xml   (with props)
>>    ofbiz/trunk/applications/accounting/widget/ 
>> PaymentGatewayConfigurationsForms.xml   (with props)
>>    ofbiz/trunk/applications/accounting/widget/ 
>> PaymentGatewayConfigurationsScreens.xml   (with props)
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/ 
>> store/EditProductStorePaySetup.groovy   (with props)
>> Modified:
>>    ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
>>    ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml
>>    ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
>>    ofbiz/trunk/applications/accounting/ofbiz-component.xml
>>    ofbiz/trunk/applications/accounting/servicedef/ 
>> services_paymentmethod.xml
>>    ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/ 
>> payment/PaymentGatewayServices.java
>>    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/ 
>> controller.xml
>>    ofbiz/trunk/applications/accounting/widget/Menus.xml
>>    ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>>    ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>>    ofbiz/trunk/applications/product/servicedef/services_store.xml
>>    ofbiz/trunk/applications/product/webapp/catalog/store/ 
>> ProductStoreForms.xml
>>    ofbiz/trunk/applications/product/widget/catalog/StoreScreens.xml
>>    ofbiz/trunk/specialpurpose/ecommerce/data/DemoFinAccount.xml
>>    ofbiz/trunk/specialpurpose/ecommerce/data/DemoProduct.xml
>>    ofbiz/trunk/specialpurpose/ecommerce/data/DemoRentalProduct.xml
>>    ofbiz/trunk/specialpurpose/ecommerce/data/ 
>> DemoStoreGiftCertificateSettings.xml
>>    ofbiz/trunk/specialpurpose/pos/data/DemoRetail.xml
>>    ofbiz/trunk/specialpurpose/webpos/data/DemoPosData.xml
>>
>> Modified: ofbiz/trunk/applications/accounting/config/ 
>> AccountingUiLabels.xml
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=763782&r1=763781&r2=763782&view=diff
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> --- ofbiz/trunk/applications/accounting/config/ 
>> AccountingUiLabels.xml (original)
>> +++ ofbiz/trunk/applications/accounting/config/ 
>> AccountingUiLabels.xml Thu Apr  9 19:45:31 2009
>> @@ -5474,6 +5474,30 @@
>>         <value xml:lang="th">รายการสถานะกภ
>> ¥à¸¸à¹ˆà¸¡à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰</value>
>>         <value xml:lang="zh">会员角色列表</value>
>>     </property>
>> +    <property key="AccountingPayflowProLoggingOff">
>> +        <value xml:lang="en">Logging Off</value>
>> +        <value xml:lang="it">Log disabilitato</value>
>> +    </property>
>>
>>
>


Re: svn commit: r763782 [1/2] - in /ofbiz/trunk: applications/accounting/ applications/accounting/config/ applications/accounting/data/ applications/accounting/entitydef/ applications/accounting/script/org/ofbiz/accounting/payment/ applications/accounting/...

Posted by Ashish Vijaywargiya <as...@hotwaxmedia.com>.
Hello Marco,

Thanks for your wonderful work in this area.
I truly appreciate your efforts.

Here are few thoughts / comments :

1) We are saving password as it is.
https://localhost:8443/accounting/control/ViewGatewayConfiguration?paymentGatewayConfigId=PAYFLOWPRO_CONFIG
I think we should encrypt the password before saving it to database and 
will not show the password as it is while fetching it from database.
Thoughts ?

2) We should change the name of service in the service definition and 
implementation.
For example you have used "updateGatewayConfiguration" instead of this 
if we use "updatePaymentGatewayConfig" then it will help developers to 
easily see the referenced entity.
Same applies to other references like 
updateGatewayConfigurationPayflowPro, 
updateGatewayConfigurationClearCommerce .... etc.

3) We should change request map entries to follow the best practice as 
well.
For ex : ViewGatewayConfigurationType, ViewGatewayConfiguration can be 
changed EditPaymentGatewayConfigType & EditPaymentGatewayConfig 
respectively.

I am requesting you to change this now (Refer #3 & #4 points) because 
newcomers start coding and can take reference of this code.

4) Do you have some some plan to provide the form and services to create 
new "PaymentGatewayConfig" & "PaymentGatewayConfigType" records ?

--
Ashish Vijaywargiya



mrisaliti@apache.org wrote:
> Author: mrisaliti
> Date: Thu Apr  9 19:45:31 2009
> New Revision: 763782
>
> URL: http://svn.apache.org/viewvc?rev=763782&view=rev
> Log:
> Move payment.properties to PaymentGatewayConfig entities (OFBIZ-2269)
>
> Added:
>     ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentGatewayConfigServices.xml   (with props)
>     ofbiz/trunk/applications/accounting/servicedef/services_paymentgateway.xml   (with props)
>     ofbiz/trunk/applications/accounting/widget/PaymentGatewayConfigurationsForms.xml   (with props)
>     ofbiz/trunk/applications/accounting/widget/PaymentGatewayConfigurationsScreens.xml   (with props)
>     ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/store/EditProductStorePaySetup.groovy   (with props)
> Modified:
>     ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
>     ofbiz/trunk/applications/accounting/data/AccountingTypeData.xml
>     ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
>     ofbiz/trunk/applications/accounting/ofbiz-component.xml
>     ofbiz/trunk/applications/accounting/servicedef/services_paymentmethod.xml
>     ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java
>     ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
>     ofbiz/trunk/applications/accounting/widget/Menus.xml
>     ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>     ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>     ofbiz/trunk/applications/product/servicedef/services_store.xml
>     ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreForms.xml
>     ofbiz/trunk/applications/product/widget/catalog/StoreScreens.xml
>     ofbiz/trunk/specialpurpose/ecommerce/data/DemoFinAccount.xml
>     ofbiz/trunk/specialpurpose/ecommerce/data/DemoProduct.xml
>     ofbiz/trunk/specialpurpose/ecommerce/data/DemoRentalProduct.xml
>     ofbiz/trunk/specialpurpose/ecommerce/data/DemoStoreGiftCertificateSettings.xml
>     ofbiz/trunk/specialpurpose/pos/data/DemoRetail.xml
>     ofbiz/trunk/specialpurpose/webpos/data/DemoPosData.xml
>
> Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=763782&r1=763781&r2=763782&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml (original)
> +++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml Thu Apr  9 19:45:31 2009
> @@ -5474,6 +5474,30 @@
>          <value xml:lang="th">รายการสถานะกลุ่มผู้ใช้</value>
>          <value xml:lang="zh">会员角色列表</value>
>      </property>
> +    <property key="AccountingPayflowProLoggingOff">
> +        <value xml:lang="en">Logging Off</value>
> +        <value xml:lang="it">Log disabilitato</value>
> +    </property>
>
>