blob: c0ad592a61422795819f7ec434255d3b01257989 [file] [log] [blame]
<?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 Services</description>
<vendor>OFBiz</vendor>
<version>1.0</version>
<!-- Payment Method services -->
<service name="deletePaymentMethod" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentMethodServices" invoke="deletePaymentMethod" auth="true">
<description>Delete PaymentMethod</description>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="IN" optional="false"/>
</service>
<service name="createCreditCard" default-entity-name="CreditCard" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentMethodServices" invoke="createCreditCard" auth="true">
<description>Create CreditCard</description>
<auto-attributes include="pk" mode="INOUT" optional="true"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<!-- these four fields are for updating on the PaymentMethod -->
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="description" type="String" mode="IN" optional="true"/>
<attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
<!-- these two will be assembled into a expireDate by buildCcExpireDate on an ECA if needed -->
<attribute name="expMonth" type="String" mode="IN" optional="true"/>
<attribute name="expYear" type="String" mode="IN" optional="true"/>
<attribute name="productStoreId" type="String" mode="IN" optional="true"/>
<override name="firstNameOnCard" optional="false"/>
<override name="lastNameOnCard" optional="false"/>
<override name="cardType" optional="false"/>
<override name="cardNumber" optional="false"/>
<override name="expireDate" optional="false"/>
</service>
<service name="createCreditCardAndAddress" engine="group" location="createCreditCardAndAddress" invoke="" auth="true">
<description>Creates a CreditCard and PostalAddress</description>
<attribute name="contactMechId" type="String" mode="INOUT" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="INOUT" optional="true"/>
</service>
<service name="updateCreditCardAndAddress" engine="group" location="updateCreditCardAndAddress" invoke="" auth="true">
<description>Updates a CreditCard and PostalAddress</description>
<attribute name="contactMechId" type="String" mode="INOUT" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="INOUT" optional="true"/>
</service>
<service name="updateCreditCard" default-entity-name="CreditCard" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentMethodServices" invoke="updateCreditCard" auth="true">
<description>Update CreditCard</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<!-- these four fields are for updating on the PaymentMethod -->
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="description" type="String" mode="IN" optional="true"/>
<!-- these two will be assembled into a expireDate by buildCcExpireDate on an ECA if needed -->
<attribute name="expMonth" type="String" mode="IN" optional="true"/>
<attribute name="expYear" type="String" mode="IN" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="OUT" optional="false"/> <!-- This is the id of the new cc -->
<attribute name="oldPaymentMethodId" type="String" mode="OUT" optional="false"/> <!-- This is the id of the old cc -->
<attribute name="productStoreId" type="String" mode="IN" optional="true"/>
</service>
<service name="clearCreditCardDataAndExpire" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentMethodServices" invoke="clearCreditCardData" auth="true">
<description>Clears the credit card number out of the value object and expires the payment method</description>
<attribute name="paymentMethodId" type="String" mode="IN" optional="false"/>
</service>
<service name="buildCcExpireDate" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentMethodServices" invoke="makeExpireDate">
<description>Makes a Expire Date</description>
<attribute name="expMonth" type="String" mode="IN" optional="false"/>
<attribute name="expYear" type="String" mode="IN" optional="false"/>
<attribute name="expireDate" type="String" mode="OUT"/>
</service>
<service name="createGiftCard" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentMethodServices" invoke="createGiftCard" auth="true">
<description>Create GiftCard</description>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="description" type="String" mode="IN" optional="true"/>
<attribute name="cardNumber" type="String" mode="IN" optional="false"/>
<attribute name="pinNumber" type="String" mode="IN" optional="true"/>
<attribute name="expireDate" type="String" mode="IN" optional="true"/>
<attribute name="expMonth" type="String" mode="IN" optional="true"/>
<attribute name="expYear" type="String" mode="IN" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="INOUT" optional="true"/>
</service>
<service name="updateGiftCard" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentMethodServices" invoke="updateGiftCard" auth="true">
<description>Update GiftCard</description>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="description" type="String" mode="IN" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="INOUT" optional="false"/>
<attribute name="cardNumber" type="String" mode="IN" optional="false"/>
<attribute name="pinNumber" type="String" mode="IN" optional="true"/>
<attribute name="expireDate" type="String" mode="IN" optional="true"/>
<attribute name="expMonth" type="String" mode="IN" optional="true"/>
<attribute name="expYear" type="String" mode="IN" optional="true"/>
<attribute name="oldPaymentMethodId" type="String" mode="OUT" optional="true"/>
</service>
<service name="createEftAccount" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentMethodServices" invoke="createEftAccount" auth="true">
<description>Create EftAccount</description>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="description" type="String" mode="IN" optional="true"/>
<attribute name="bankName" type="String" mode="IN" optional="false"/>
<attribute name="routingNumber" type="String" mode="IN" optional="false"/>
<attribute name="accountType" type="String" mode="IN" optional="false"/>
<attribute name="accountNumber" type="String" mode="IN" optional="false"/>
<attribute name="nameOnAccount" type="String" mode="IN" optional="false"/>
<attribute name="companyNameOnAccount" type="String" mode="IN" optional="true"/>
<attribute name="contactMechId" type="String" mode="IN" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="INOUT" optional="true"/>
</service>
<service name="createCheckAccount" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentMethodServices" invoke="createCheckAccount" auth="true">
<description>Create Check</description>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="bankName" type="String" mode="IN" optional="false"/>
<attribute name="paymentMethodTypeId" type="String" mode="IN" optional="false"/>
<attribute name="description" type="String" mode="IN" optional="true"/>
<attribute name="routingNumber" type="String" mode="IN" optional="true"/>
<attribute name="accountType" type="String" mode="IN" optional="true"/>
<attribute name="accountNumber" type="String" mode="IN" optional="true"/>
<attribute name="nameOnAccount" type="String" mode="IN" optional="false"/>
<attribute name="companyNameOnAccount" type="String" mode="IN" optional="true"/>
<attribute name="contactMechId" type="String" mode="IN" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="INOUT" optional="true"/>
</service>
<service name="updateCheckAccount" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentMethodServices" invoke="updateCheckAccount" auth="true">
<description>Update Check Account</description>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="paymentMethodTypeId" type="String" mode="IN" optional="false"/>
<attribute name="description" type="String" mode="IN" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="INOUT" optional="false"/>
<attribute name="bankName" type="String" mode="IN" optional="true"/>
<attribute name="routingNumber" type="String" mode="IN" optional="true"/>
<attribute name="accountType" type="String" mode="IN" optional="true"/>
<attribute name="accountNumber" type="String" mode="IN" optional="true"/>
<attribute name="nameOnAccount" type="String" mode="IN" optional="false"/>
<attribute name="companyNameOnAccount" type="String" mode="IN" optional="true"/>
<attribute name="contactMechId" type="String" mode="IN" optional="true"/>
<attribute name="oldPaymentMethodId" type="String" mode="OUT" optional="true"/>
</service>
<service name="createEftAccountAndAddress" engine="group" location="createEftAccountAndAddress" invoke="" auth="true">
<description>Creates an EftAccount and PostalAddress</description>
<attribute name="contactMechId" type="String" mode="INOUT" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="INOUT" optional="true"/>
</service>
<service name="updateEftAccountAndAddress" engine="group" location="updateEftAccountAndAddress" invoke="" auth="true">
<description>Updates an EftAccount and PostalAddress</description>
<attribute name="contactMechId" type="String" mode="INOUT" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="INOUT" optional="true"/>
</service>
<service name="updateEftAccount" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentMethodServices" invoke="updateEftAccount" auth="true">
<description>Update EftAccount</description>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="description" type="String" mode="IN" optional="true"/>
<attribute name="paymentMethodId" type="String" mode="INOUT" optional="false"/>
<attribute name="bankName" type="String" mode="IN" optional="false"/>
<attribute name="routingNumber" type="String" mode="IN" optional="false"/>
<attribute name="accountType" type="String" mode="IN" optional="false"/>
<attribute name="accountNumber" type="String" mode="IN" optional="false"/>
<attribute name="nameOnAccount" type="String" mode="IN" optional="false"/>
<attribute name="companyNameOnAccount" type="String" mode="IN" optional="true"/>
<attribute name="contactMechId" type="String" mode="IN" optional="true"/>
<attribute name="oldPaymentMethodId" type="String" mode="OUT" optional="true"/>
</service>
<service name="setPaymentMethodAddress" engine="simple"
location="component://accounting/minilang/payment/PaymentMethodServices.xml" invoke="setPaymentMethodAddress" auth="true">
<description>Set the inital payment method address.</description>
<attribute name="paymentMethodId" type="String" mode="IN" optional="false"/>
<attribute name="contactMechId" type="String" mode="IN" optional="false"/>
</service>
<service name="updatePaymentMethodAddress" engine="simple"
location="component://accounting/minilang/payment/PaymentMethodServices.xml" invoke="updatePaymentMethodAddress" auth="true" use-transaction="false">
<description>Finds CreditCards and EftAccounts that use the oldContactMechId and updates to the contactMechId</description>
<attribute name="contactMechId" type="String" mode="IN" optional="false"/>
<attribute name="oldContactMechId" type="String" mode="IN" optional="false"/>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
</service>
<service name="createPayPalPaymentMethod" engine="simple"
location="component://accounting/minilang/payment/PaymentMethodServices.xml" invoke="createPayPalPaymentMethod" auth="true">
<description>Create a PayPal Payment Method</description>
<auto-attributes mode="INOUT" entity-name="PayPalPaymentMethod" include="pk" optional="true"/>
<auto-attributes mode="IN" entity-name="PayPalPaymentMethod" include="nonpk" optional="true"/>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="description" type="String" mode="IN" optional="true"/>
<attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/>
<attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
</service>
<service name="updatePayPalPaymentMethod" engine="entity-auto" default-entity-name="PayPalPaymentMethod" invoke="update" auth="true">
<description>Update a PayPal Payment Method</description>
<attribute name="paymentMethodId" mode="INOUT" type="String" optional="false"/>
<auto-attributes mode="IN" entity-name="PayPalPaymentMethod" include="nonpk" optional="true"/>
</service>
<!-- Payment Auth/Capture Services -->
<service name="manualForcedCcAuthTransaction" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="processManualCcAuth" auth="true">
<description>Direct link to payment processors to force manual CC authorizations; not logged in system</description>
<attribute name="paymentMethodId" type="String" mode="IN" optional="false"/>
<attribute name="productStoreId" type="String" mode="IN" optional="false"/>
<attribute name="securityCode" type="String" mode="IN" optional="true"/>
<attribute name="amount" type="BigDecimal" mode="IN" optional="false"/>
</service>
<service name="manualForcedCcTransaction" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="processManualCcTx" auth="true">
<description>Direct link to payment processors to force manual transactions; not logged in system</description>
<attribute name="paymentMethodTypeId" type="String" mode="IN" optional="false"/>
<attribute name="productStoreId" type="String" mode="IN" optional="false"/>
<attribute name="transactionType" type="String" mode="IN" optional="false"/>
<attribute name="companyNameOnCard" type="String" mode="IN" optional="true"/>
<attribute name="titleOnCard" type="String" mode="IN" optional="true"/>
<attribute name="firstNameOnCard" type="String" mode="IN" optional="false"/>
<attribute name="middleNameOnCard" type="String" mode="IN" optional="true"/>
<attribute name="lastNameOnCard" type="String" mode="IN" optional="false"/>
<attribute name="suffixOnCard" type="String" mode="IN" optional="true"/>
<attribute name="cardType" type="String" mode="IN" optional="false"/>
<attribute name="cardNumber" type="String" mode="IN" optional="false"/>
<attribute name="cardSecurityCode" type="String" mode="IN" optional="true"/>
<attribute name="expMonth" type="String" mode="IN" optional="false"/>
<attribute name="expYear" type="String" mode="IN" optional="false"/>
<!-- Not used in the service any more
<attribute name="firstName" type="String" mode="IN" optional="false"/>
<attribute name="lastName" type="String" mode="IN" optional="false"/>
-->
<attribute name="infoString" type="String" mode="IN" optional="false"/>
<attribute name="address1" type="String" mode="IN" optional="false"/>
<attribute name="address2" type="String" mode="IN" optional="true"/>
<attribute name="city" type="String" mode="IN" optional="false"/>
<attribute name="stateProvinceGeoId" type="String" mode="IN" optional="true"/>
<attribute name="postalCode" type="String" mode="IN" optional="false"/>
<attribute name="countryGeoId" type="String" mode="IN" optional="false"/>
<attribute name="amount" type="BigDecimal" mode="IN" optional="false"/>
<attribute name="referenceCode" type="String" mode="IN" optional="true"/>
<attribute name="orderPaymentPreferenceId" type="String" mode="IN" optional="false"/>
<attribute name="referenceNum" type="String" mode="OUT" optional="false"/>
<attribute name="tranRespMsgs" type="List" mode="OUT" optional="true"/>
</service>
<service name="retryFailedAuths" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="retryFailedAuths" auth="true">
<description>(Batch) Retries failed authorizations due to processor/connection problems</description>
<!-- this service has no parameters IN or OUT -->
</service>
<service name="retryFailedOrderAuth" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="retryFailedOrderAuth" auth="true">
<description>Retries failed authorization due to processor/connection problems, or NSF (Not Sufficient Funds) failure, for an order</description>
<attribute name="orderId" type="String" mode="IN" optional="false"/>
<attribute name="processResult" type="String" mode="OUT" optional="true"/>
<attribute name="authResultMsgs" type="List" mode="OUT" optional="true"/>
</service>
<service name="retryFailedAuthNsfs" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="retryFailedAuthNsfs" auth="true">
<description>(Batch) Retries failed authorizations due to NSF (Not Sufficient Funds); these are for auto-orders</description>
<!-- this service has no parameters IN or OUT -->
</service>
<service name="authOrderPaymentPreference" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="authOrderPaymentPreference" auth="true">
<description>Process (authorizes/re-authorizes) a single payment for an order with an optional overrideAmount</description>
<attribute name="orderPaymentPreferenceId" type="String" mode="IN" optional="false"/>
<attribute name="overrideAmount" type="BigDecimal" mode="IN" optional="true"/>
<attribute name="finished" type="Boolean" mode="OUT" optional="false"/>
<attribute name="errors" type="Boolean" mode="OUT" optional="false"/>
<attribute name="messages" type="List" mode="OUT" optional="true"/>
<attribute name="processAmount" type="BigDecimal" mode="OUT" optional="true"/>
<attribute name="authCode" type="String" mode="OUT" optional="true"/>
</service>
<service name="authOrderPayments" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="authOrderPayments" auth="true">
<description>Process (authorizes/re-authorizes) payments for an order</description>
<attribute name="orderId" type="String" mode="IN" optional="false"/>
<attribute name="processResult" type="String" mode="OUT" optional="false"/>
<attribute name="authResultMsgs" type="List" mode="OUT" optional="true"/>
<attribute name="reAuth" type="Boolean" mode="IN" optional="true"/>
<attribute name="authCode" type="String" mode="OUT" optional="true"/>
</service>
<service name="releaseOrderPayments" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="releaseOrderPayments" auth="true">
<description>Releases all payment authorizations for an order</description>
<attribute name="orderId" type="String" mode="IN" optional="false"/>
<attribute name="processResult" type="String" mode="OUT" optional="false"/>
<attribute name="orderPaymentPreferenceId" type="String" mode="IN" optional="true"/>
</service>
<service name="releaseOrderPaymentPreference" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="releaseOrderPaymentPreference" auth="true">
<description>Releases payment authorization for a single OrderPaymentPreference</description>
<attribute name="orderPaymentPreferenceId" type="String" mode="IN" optional="false"/>
</service>
<service name="creditOrderPaymentPreference" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="creditOrderPaymentPreference" auth="true">
<description>Credit payment authorization for a single OrderPaymentPreference</description>
<attribute name="orderPaymentPreferenceId" type="String" mode="IN" optional="false"/>
</service>
<service name="capturePaymentsByInvoice" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="capturePaymentsByInvoice" auth="true">
<description>Captures (settles) pre-authorized order payments by invoice</description>
<attribute name="invoiceId" type="String" mode="IN" optional="false"/>
<attribute name="processResult" type="String" mode="OUT" optional="false"/>
</service>
<service name="captureOrderPayments" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="captureOrderPayments" auth="true">
<description>Captures (settles) pre-authorized order payments, re-authorizing any remaining balance. If the order involves billing accounts,
capture to it in full before proceeding to other payment preferences.</description>
<attribute name="orderId" type="String" mode="IN" optional="false"/>
<attribute name="invoiceId" type="String" mode="IN" optional="true"/>
<attribute name="billingAccountId" type="String" mode="IN" optional="true"/>
<attribute name="captureAmount" type="BigDecimal" mode="IN" optional="false"/>
<attribute name="processResult" type="String" mode="OUT" optional="false"/>
</service>
<!-- deprecated in favour of captureBillingAccountPayments -->
<service name="captureBillingAccountPayment" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="captureBillingAccountPayment" auth="true">
<description>Records a settlement or payment of an invoice by a billing account for the given captureAmount</description>
<attribute name="invoiceId" type="String" mode="IN" optional="false"/>
<attribute name="billingAccountId" type="String" mode="IN" optional="false"/>
<attribute name="captureAmount" type="BigDecimal" mode="IN" optional="false"/>
<attribute name="orderId" type="String" mode="IN" optional="true"/>
<attribute name="paymentId" type="String" mode="OUT" optional="false"/>
<attribute name="paymentGatewayResponseId" type="String" mode="OUT" optional="true"/>
</service>
<service name="captureBillingAccountPayments" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="captureBillingAccountPayments" auth="true">
<description>Applies (part of) the unapplied payment applications associated to the billing account to the given invoice.</description>
<attribute name="billingAccountId" type="String" mode="IN" optional="false"/>
<attribute name="invoiceId" type="String" mode="IN" optional="false"/>
<attribute name="captureAmount" type="BigDecimal" mode="INOUT" optional="false"/>
<attribute name="orderId" type="String" mode="IN" optional="true"/>
</service>
<service name="processCaptureSplitPayment" engine="java" require-new-transaction="true"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="processCaptureSplitPayment" auth="true">
<description>Handles the creation of new OrderPaymentPreference record (and Auth) for partial captures</description>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="splitAmount" type="BigDecimal" mode="IN" optional="false"/>
</service>
<service name="refundOrderPaymentPreference" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="refundOrderPaymentPreference" auth="true">
<description>Refund payment authorization for a single OrderPaymentPreference</description>
<attribute name="orderPaymentPreferenceId" type="String" mode="IN" optional="false"/>
<attribute name="amount" type="BigDecimal" mode="IN" optional="false"/>
<attribute name="refundAmount" type="BigDecimal" mode="OUT" optional="false"/>
<attribute name="paymentId" type="String" mode="OUT" optional="false"/>
</service>
<service name="refundPayment" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="refundPayment" auth="true">
<description>Refunds A Payment</description>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="refundAmount" type="BigDecimal" mode="INOUT" optional="false"/>
<attribute name="paymentId" type="String" mode="OUT" optional="false"/>
</service>
<service name="processAuthResult" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="processAuthResult" auth="true">
<description>Process the payment authorization result(s)</description>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="processAmount" type="BigDecimal" mode="IN" optional="false"/>
<attribute name="currencyUomId" type="String" mode="IN" optional="true"/>
<attribute name="authResult" type="Boolean" mode="IN" optional="false"/>
<attribute name="serviceTypeEnum" type="String" mode="IN" optional="true"/>
<attribute name="authCode" type="String" mode="IN" optional="true"/>
<attribute name="authAltRefNum" type="String" mode="IN" optional="true"/>
<attribute name="authRefNum" type="String" mode="IN" optional="false"/>
<attribute name="authFlag" type="String" mode="IN" optional="true"/>
<attribute name="authMessage" type="String" mode="IN" optional="true"/>
<attribute name="cvCode" type="String" mode="IN" optional="true"/>
<attribute name="avsCode" type="String" mode="IN" optional="true"/>
<attribute name="scoreCode" type="String" mode="IN" optional="true"/>
<attribute name="internalRespMsgs" type="List" mode="IN" optional="true"/>
</service>
<service name="processCaptureResult" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="processCaptureResult" auth="true">
<description>Process the payment capture result(s)</description>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="serviceTypeEnum" type="String" mode="IN" optional="true"/>
<attribute name="payToPartyId" type="String" mode="IN" optional="true"/>
<attribute name="invoiceId" type="String" mode="IN" optional="true"/>
<attribute name="captureAmount" type="BigDecimal" mode="IN" optional="false"/>
<attribute name="currencyUomId" type="String" mode="IN" optional="true"/>
<attribute name="captureResult" type="Boolean" mode="IN" optional="false"/>
<attribute name="captureAltRefNum" type="String" mode="IN" optional="true"/>
<attribute name="captureRefNum" type="String" mode="IN" optional="false"/>
<attribute name="captureCode" type="String" mode="IN" optional="true"/>
<attribute name="captureFlag" type="String" mode="IN" optional="true"/>
<attribute name="captureMessage" type="String" mode="IN" optional="true"/>
<attribute name="internalRespMsgs" type="List" mode="IN" optional="true"/>
</service>
<service name="processReleaseResult" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="processReleaseResult" auth="true">
<description>Process the payment release result(s)</description>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="releaseAmount" type="BigDecimal" mode="IN" optional="false"/>
<attribute name="currencyUomId" type="String" mode="IN" optional="true"/>
<attribute name="releaseResult" type="Boolean" mode="IN" optional="false"/>
<attribute name="releaseAltRefNum" type="String" mode="IN" optional="true"/>
<attribute name="releaseRefNum" type="String" mode="IN" optional="false"/>
<attribute name="releaseCode" type="String" mode="IN" optional="true"/>
<attribute name="releaseFlag" type="String" mode="IN" optional="true"/>
<attribute name="releaseMessage" type="String" mode="IN" optional="true"/>
<attribute name="internalRespMsgs" type="List" mode="IN" optional="true"/>
</service>
<service name="processCreditResult" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="processCreditResult" auth="true">
<description>Process the payment credit result(s)</description>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="creditAmount" type="BigDecimal" mode="IN" optional="false"/>
<attribute name="currencyUomId" type="String" mode="IN" optional="true"/>
<attribute name="creditResult" type="Boolean" mode="IN" optional="false"/>
<attribute name="creditAltRefNum" type="String" mode="IN" optional="true"/>
<attribute name="creditRefNum" type="String" mode="IN" optional="false"/>
<attribute name="creditCode" type="String" mode="IN" optional="true"/>
<attribute name="creditFlag" type="String" mode="IN" optional="true"/>
<attribute name="creditMessage" type="String" mode="IN" optional="true"/>
<attribute name="internalRespMsgs" type="List" mode="IN" optional="true"/>
</service>
<service name="processRefundResult" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="processRefundResult" auth="true">
<description>Process the payment refund result(s)</description>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="serviceTypeEnum" type="String" mode="IN" optional="true"/>
<attribute name="payFromPartyId" type="String" mode="IN" optional="true"/>
<attribute name="payToPartyId" type="String" mode="IN" optional="true"/>
<attribute name="invoiceId" type="String" mode="IN" optional="true"/>
<attribute name="refundAmount" type="BigDecimal" mode="INOUT" optional="false"/>
<attribute name="currencyUomId" type="String" mode="IN" optional="true"/>
<attribute name="refundResult" type="Boolean" mode="IN" optional="false"/>
<attribute name="refundAltRefNum" type="String" mode="IN" optional="true"/>
<attribute name="refundRefNum" type="String" mode="IN" optional="false"/>
<attribute name="refundCode" type="String" mode="IN" optional="true"/>
<attribute name="refundFlag" type="String" mode="IN" optional="true"/>
<attribute name="refundMessage" type="String" mode="IN" optional="true"/>
<attribute name="internalRespMsgs" type="List" mode="IN" optional="true"/>
<attribute name="paymentId" type="String" mode="OUT" optional="true"/>
</service>
<service name="processPaymentServiceError" engine="java" require-new-transaction="true" max-retry="5"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="storePaymentErrorMessage" auth="true">
<description>Process (store) error messages from payment service failures</description>
<attribute name="paymentServiceTypeEnumId" type="String" mode="IN" optional="false"/>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="transCodeEnumId" type="String" mode="IN" optional="false"/>
<attribute name="serviceResultMap" type="Map" mode="IN" optional="false"/>
</service>
<service name="savePaymentGatewayResponse" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="savePaymentGatewayResponse" auth="false">
<description>Method to make sure PaymentGatewayResponse records get stored (uses XA wrapper on rollback)</description>
<attribute name="paymentGatewayResponse" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
</service>
<service name="savePaymentGatewayResponseAndMessages" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="savePaymentGatewayResponseAndMessages" auth="false">
<description>Method to make sure PaymentGatewayResponse records get stored (uses XA wrapper on rollback)</description>
<attribute name="paymentGatewayResponse" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="messages" type="List" mode="IN" optional="false"/>
</service>
<!-- Payment Gateway Interfaces -->
<service name="paymentProcessInterface" engine="interface" location="" invoke="">
<description>Generic Payment Processing Interface</description>
<attribute name="orderId" type="String" mode="IN" optional="false"/>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="processAmount" type="BigDecimal" mode="INOUT" optional="false"/>
<attribute name="orderItems" type="List" mode="IN" optional="false"/>
<attribute name="billToParty" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="billToEmail" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
<attribute name="billingAddress" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
<attribute name="shippingAddress" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
<attribute name="customerIpAddress" type="String" mode="IN" optional="true"/>
<attribute name="currency" type="String" mode="IN" optional="true"/>
<attribute name="paymentConfig" type="String" mode="IN" optional="true"/>
<attribute name="paymentGatewayConfigId" type="String" mode="IN" optional="true"/>
<attribute name="authResult" type="Boolean" mode="OUT" optional="true"/>
<attribute name="captureResult" type="Boolean" mode="OUT" optional="true"/>
<attribute name="resultDeclined" type="Boolean" mode="OUT" optional="true"/>
<attribute name="resultNsf" type="Boolean" mode="OUT" optional="true"/>
<attribute name="resultBadExpire" type="Boolean" mode="OUT" optional="true"/>
<attribute name="resultBadCardNumber" type="Boolean" mode="OUT" optional="true"/>
<attribute name="authCode" type="String" mode="OUT" optional="true"/>
<attribute name="authAltRefNum" type="String" mode="OUT" optional="true"/>
<attribute name="authRefNum" type="String" mode="OUT" optional="false"/>
<attribute name="authFlag" type="String" mode="OUT" optional="true"/>
<attribute name="authMessage" type="String" mode="OUT" optional="true"/>
<attribute name="cvCode" type="String" mode="OUT" optional="true"/>
<attribute name="avsCode" type="String" mode="OUT" optional="true"/>
<attribute name="scoreCode" type="String" mode="OUT" optional="true"/>
<attribute name="captureAltRefNum" type="String" mode="OUT" optional="true"/>
<attribute name="captureRefNum" type="String" mode="OUT" optional="true"/>
<attribute name="captureCode" type="String" mode="OUT" optional="true"/>
<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="customerRespMsgs" type="List" mode="OUT" optional="true"/>
</service>
<service name="paymentReleaseInterface" engine="interface" location="" invoke="">
<description>Generic Payment Release (reverse) Interface</description>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="releaseAmount" type="BigDecimal" mode="INOUT" optional="false"/>
<attribute name="currency" type="String" mode="IN" optional="true"/>
<attribute name="paymentConfig" type="String" mode="IN" optional="true"/>
<attribute name="authTrans" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
<attribute name="paymentGatewayConfigId" type="String" mode="IN" optional="true"/>
<attribute name="releaseResult" type="Boolean" mode="OUT" optional="true"/>
<attribute name="releaseAltRefNum" type="String" mode="OUT" optional="true"/>
<attribute name="releaseRefNum" type="String" mode="OUT" optional="false"/>
<attribute name="releaseCode" type="String" mode="OUT" optional="true"/>
<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"/>
</service>
<service name="paymentCreditInterface" engine="interface" location="" invoke="">
<description>Generic Payment Credit Interface</description>
<attribute name="referenceCode" type="String" mode="IN" optional="false"/>
<attribute name="creditAmount" type="BigDecimal" mode="INOUT" optional="false"/>
<attribute name="orderItems" type="List" mode="IN" optional="true"/>
<attribute name="billToParty" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="billToEmail" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
<attribute name="billingAddress" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
<attribute name="currency" type="String" mode="IN" optional="true"/>
<attribute name="paymentConfig" type="String" mode="IN" optional="true"/>
<attribute name="paymentGatewayConfigId" type="String" mode="IN" optional="true"/>
<attribute name="creditResult" type="Boolean" mode="OUT" optional="false"/>
<attribute name="creditAltRefNum" type="String" mode="OUT" optional="true"/>
<attribute name="creditRefNum" type="String" mode="OUT" optional="false"/>
<attribute name="creditCode" type="String" mode="OUT" optional="true"/>
<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"/>
</service>
<service name="paymentRefundInterface" engine="interface" location="" invoke="">
<description>Generic Payment Refund Interface</description>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="refundAmount" type="BigDecimal" mode="INOUT" optional="false"/>
<attribute name="currency" type="String" mode="IN" optional="true"/>
<attribute name="paymentConfig" type="String" mode="IN" optional="true"/>
<attribute name="paymentGatewayConfigId" type="String" mode="IN" optional="true"/>
<attribute name="refundResult" type="Boolean" mode="OUT" optional="false"/>
<attribute name="refundAltRefNum" type="String" mode="OUT" optional="true"/>
<attribute name="refundRefNum" type="String" mode="OUT" optional="false"/>
<attribute name="refundCode" type="String" mode="OUT" optional="true"/>
<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"/>
</service>
<!-- Credit Card Interfaces -->
<service name="ccAuthInterface" engine="interface" location="" invoke="">
<description>Credit Card Authorization Interface</description>
<implements service="paymentProcessInterface"/>
<attribute name="creditCard" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="cardSecurityCode" type="String" mode="IN" optional="true"/>
</service>
<service name="ccCaptureInterface" engine="interface" location="" invoke="">
<description>Credit Card Capture Interface</description>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="captureAmount" type="BigDecimal" mode="INOUT" optional="false"/>
<attribute name="currency" type="String" mode="IN" optional="true"/>
<attribute name="paymentConfig" type="String" mode="IN" optional="true"/>
<attribute name="authTrans" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
<attribute name="paymentGatewayConfigId" type="String" mode="IN" optional="true"/>
<attribute name="captureResult" type="Boolean" mode="OUT" optional="true"/>
<attribute name="captureAltRefNum" type="String" mode="OUT" optional="true"/>
<attribute name="captureRefNum" type="String" mode="OUT" optional="false"/>
<attribute name="captureCode" type="String" mode="OUT" optional="true"/>
<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"/>
</service>
<service name="ccCreditInterface" engine="interface" location="" invoke="">
<description>Credit Card 'Credit' Inteface</description>
<implements service="paymentCreditInterface"/>
<attribute name="creditCard" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="cardSecurityCode" type="String" mode="IN" optional="true"/>
</service>
<!-- EFT Account Interfaces -->
<service name="eftProcessInterface" engine="interface" location="" invoke="">
<description>EFT Account Processing Interface</description>
<implements service="paymentProcessInterface"/>
<attribute name="eftAccount" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
</service>
<!-- PayPal Payment Interfaces -->
<service name="payPalProcessInterface" engine="interface" location="" invoke="">
<description>PayPal authorize Interface</description>
<implements service="paymentProcessInterface"/>
<attribute name="payPalPaymentMethod" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
</service>
<service name="payPalCaptureInterface" engine="interface" location="" invoke="">
<description>PayPal Capture Interface</description>
<attribute name="orderPaymentPreference" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
<attribute name="captureAmount" type="BigDecimal" mode="INOUT" optional="false"/>
<attribute name="currency" type="String" mode="IN" optional="true"/>
<attribute name="paymentConfig" type="String" mode="IN" optional="true"/>
<attribute name="authTrans" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
<attribute name="paymentGatewayConfigId" type="String" mode="IN" optional="true"/>
<attribute name="captureResult" type="Boolean" mode="OUT" optional="true"/>
<attribute name="captureAltRefNum" type="String" mode="OUT" optional="true"/>
<attribute name="captureRefNum" type="String" mode="OUT" optional="false"/>
<attribute name="captureCode" type="String" mode="OUT" optional="true"/>
<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"/>
</service>
<service name="payPalSetExpressCheckoutInterface" engine="interface" location="" invoke="">
<description>Interface for services performing the PayPal getExpressCheckout operation</description>
<attribute name="cart" mode="IN" type="org.apache.ofbiz.order.shoppingcart.ShoppingCart" optional="false"></attribute>
</service>
<service name="payPalGetExpressCheckoutInterface" engine="interface" location="" invoke="">
<description>Interface for services performing the PayPal getExpressCheckoutDetails operation</description>
<attribute name="cart" mode="IN" type="org.apache.ofbiz.order.shoppingcart.ShoppingCart" optional="false"></attribute>
</service>
<service name="payPalDoExpressCheckoutInterface" engine="interface" location="" invoke="">
<description>Interface for services performing the PayPal doExpressCheckout operation</description>
<attribute name="orderPaymentPreference" mode="IN" type="GenericValue" optional="false"></attribute>
</service>
<!-- Gift Card Interfaces -->
<service name="giftCardProcessInterface" engine="interface" location="" invoke="">
<description>Gift Card Processing Interface</description>
<implements service="paymentProcessInterface"/>
<attribute name="giftCard" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="false"/>
</service>
<!-- Test Implementations -->
<!-- Test Credit Card (CC) Requests -->
<service name="testCCProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testProcessor">
<description>Test Credit Card Auth Processing: declines auth requests for all orders less than 100.00; approves auth requests for all orders greater than or equal to 100.00</description>
<implements service="ccAuthInterface"/>
</service>
<service name="testCCProcessorWithCapture" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testProcessorWithCapture">
<description>Test Credit Card Auth Processing: declines auth requests for all orders less than 100.00; approves auth requests for all orders greater than or equal to 100.00</description>
<implements service="ccAuthInterface"/>
</service>
<service name="testRandomAuthorize" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testRandomAuthorize">
<description>Test Credit Card Auth Processing: does random auth declines</description>
<implements service="ccAuthInterface"/>
</service>
<service name="alwaysApproveCCProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="alwaysApproveProcessor">
<description>Test Credit Card Auth Processing: always approve the auth request</description>
<implements service="ccAuthInterface"/>
</service>
<service name="alwaysApproveWithCaptureCCProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="alwaysApproveWithCapture">
<description>Test Credit Card Auth Processing: always approve with capture auth request</description>
<implements service="ccAuthInterface"/>
</service>
<service name="alwaysDeclineCCProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="alwaysDeclineProcessor">
<description>Test Credit Card Auth Processing: always decline the auth request</description>
<implements service="ccAuthInterface"/>
</service>
<service name="alwaysNsfCCProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="alwaysNsfProcessor">
<description>Test Credit Card Auth Processing: always decline for NSF (not sufficient funds) auth request</description>
<implements service="ccAuthInterface"/>
</service>
<service name="alwaysBadExpireCCProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="alwaysBadExpireProcessor">
<description>Test Credit Card Auth Processing: always fail/bad expire date processor</description>
<implements service="ccAuthInterface"/>
</service>
<service name="badExpireEvenCCProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="badExpireEvenProcessor">
<description>Test Credit Card Auth Processing: fail/bad expire date when year is even processor</description>
<implements service="ccAuthInterface"/>
</service>
<service name="alwaysBadCardNumberCCProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="alwaysBadCardNumberProcessor">
<description>Test Credit Card Auth Processing: always decline the auth request for bad card number</description>
<implements service="ccAuthInterface"/>
</service>
<service name="alwaysFailCCProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="alwaysFailProcessor">
<description>Test Credit Card Auth Processing: always fail (error) the auth transaction request</description>
<implements service="ccAuthInterface"/>
</service>
<service name="testCCCapture" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testCapture">
<description>Test Credit Card Capture Processing: always approve the capture request</description>
<implements service="ccCaptureInterface"/>
</service>
<service name="testCCCaptureWithReAuth" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testCaptureWithReAuth">
<description>Test Credit Card Capture Processing: always approve with reauth the capture request</description>
<implements service="ccCaptureInterface"/>
</service>
<service name="testCCProcessorCaptureAlwaysDecline" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testCCProcessorCaptureAlwaysDecline">
<description>Test Credit Card Capture Processing: always decline a cc capture request</description>
<implements service="ccCaptureInterface"/>
</service>
<service name="testCCRelease" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testRelease">
<description>Test Credit Card Release Processing: always approve the release request</description>
<implements service="paymentReleaseInterface"/>
</service>
<service name="testCCRefund" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testRefund">
<description>Test Credit Card Refund Processing: always approve the refund request</description>
<implements service="paymentRefundInterface"/>
</service>
<service name="testCCRefundFailure" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testRefundFailure">
<description>Credit Card Test Refund Failure</description>
<implements service="paymentRefundInterface"/>
</service>
<!-- Test GiftCard Services -->
<service name="alwaysApproveGCProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="alwaysApproveWithCapture">
<description>Gift Card Processing</description>
<implements service="giftCardProcessInterface"/>
</service>
<service name="alwaysDeclineGCProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="alwaysDeclineProcessor">
<description>Gift Card Processing</description>
<implements service="giftCardProcessInterface"/>
</service>
<service name="testGCRelease" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testRelease">
<description>Gift Card Test Release</description>
<implements service="paymentReleaseInterface"/>
</service>
<!-- Test EFT Implementations -->
<service name="testEFTProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testProcessor">
<description>EFT Account Processing</description>
<implements service="eftProcessInterface"/>
</service>
<service name="alwaysApproveEFTProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="alwaysApproveProcessor">
<description>EFT Account Processing</description>
<implements service="eftProcessInterface"/>
</service>
<service name="alwaysDeclineEFTProcessor" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="alwaysDeclineProcessor">
<description>EFT Account Processing</description>
<implements service="eftProcessInterface"/>
</service>
<service name="testEFTRelease" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="testRelease">
<description>EFT Account Test Release</description>
<implements service="paymentReleaseInterface"/>
</service>
<!-- Verify Credit Card Service-->
<service name="verifyCreditCard" engine="java"
location="org.apache.ofbiz.accounting.payment.PaymentGatewayServices" invoke="verifyCreditCard" auth="true">
<attribute name="paymentMethodId" type="String" mode="IN" optional="false"/>
<attribute name="oldPaymentMethodId" type="String" mode="IN" optional="true"/>
<attribute name="productStoreId" type="String" mode="IN" optional="true"/>
<attribute name="mode" type="String" mode="IN" optional="false"/>
</service>
<!-- CreditCardTypeGlAccount Services -->
<service name="createCreditCardTypeGlAccount" default-entity-name="CreditCardTypeGlAccount" engine="entity-auto" invoke="create" auth="true">
<description>create a Credit Card Gl Account</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="false"/>
</service>
<service name="updateCreditCardTypeGlAccount" default-entity-name="CreditCardTypeGlAccount" engine="entity-auto" invoke="update" auth="true">
<description>Update a Credit Card Gl Account </description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="false"/>
</service>
<service name="deleteCreditCardTypeGlAccount" default-entity-name="CreditCardTypeGlAccount" engine="entity-auto" invoke="delete" auth="true">
<description>delete a Credit Card Gl Account</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<!-- PaymentMethodType -->
<service name="createPaymentMethodType" engine="entity-auto" default-entity-name="PaymentMethodType" invoke="create" auth="true">
<description>Create a PaymentMethodType record</description>
<auto-attributes include="pk" mode="INOUT" optional="true"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updatePaymentMethodType" default-entity-name="PaymentMethodType" engine="entity-auto" invoke="update" auth="true">
<description>Update a Payment Method Type</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deletePaymentMethodType" default-entity-name="PaymentMethodType" engine="entity-auto" invoke="delete" auth="true">
<description>Delete a PaymentMethodType record</description>
<auto-attributes include="pk" mode="IN"/>
</service>
<!-- Payment Group -->
<service name="createPaymentGroup" default-entity-name="PaymentGroup" engine="entity-auto" invoke="create" auth="true">
<description>Create a Payment Group</description>
<auto-attributes include="pk" mode="OUT" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<override name="paymentGroupTypeId" optional="false"/>
<override name="paymentGroupName" optional="false"/>
</service>
<service name="updatePaymentGroup" default-entity-name="PaymentGroup" engine="entity-auto" invoke="update" auth="true">
<description>Update a Payment Group</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deletePaymentGroup" default-entity-name="PaymentGroup" engine="entity-auto" invoke="delete" auth="true">
<description>Delete a Payment Group</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<!-- Payment Group Member -->
<service name="createPaymentGroupMember" default-entity-name="PaymentGroupMember" engine="simple"
location="component://accounting/minilang/payment/PaymentMethodServices.xml" invoke="createPaymentGroupMember" auth="true">
<description>Check For Outgoing/Incoming Payment And Create Payment Group Member</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<override name="fromDate" optional="true"/>
</service>
<service name="updatePaymentGroupMember" default-entity-name="PaymentGroupMember" engine="entity-auto" invoke="update" auth="true">
<description>Update a Payment Group Member</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deletePaymentGroupMember" default-entity-name="PaymentGroupMember" engine="entity-auto" invoke="delete" auth="true">
<description>Delete a Payment Group Member</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<service name="expirePaymentGroupMember" default-entity-name="PaymentGroupMember" engine="simple"
location="component://accounting/minilang/payment/PaymentMethodServices.xml" invoke="expirePaymentGroupMember" auth="true">
<description>expire a Payment Group Member</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
</services>