Examples of Funding Instructions
The example below shows a Batch containing the various funding instruction you can use. Do not mix other transaction types in a Batch containing funding instructions. Within a Session, do not mix Batches of funding instructions with Batches containing other transaction types.
Example: cnpAPI Funding Instructions (Payment Facilitators)
<cnpRequest version="12.22" xmlns="http://www.vantivcnp.com/schema" numBatchRequests="1">
<authentication>
<user>username</user>
<password>password</password>
</authentication>
<batchRequest merchantId="01601" numPayFacCredit="1" payFacCreditAmount="1000" numPayFacDebit="1" payFacDebitAmount="2000" numSubmerchantCredit="1" submerchantCreditAmount="3000" numSubmerchantDebit="1" submerchantDebitAmount="4000" numReserveCredit="1" reserveCreditAmount="5000" numReserveDebit="1" reserveDebitAmount="6000" numVendorCredit="1" vendorCreditAmount="7000" numVendorDebit="1" vendorDebitAmount="8000" numPhysicalCheckCredit="1" physicalCheckCreditAmount="9000" numPhysicalCheckDebit="1" physicalCheckDebitAmount="10000" sameDayFunding="true">
<!-- Example of PayFac funding themselves. Funds move from the PayFac Settlement Account to the PayFac Operating Account. -->
<payFacCredit id="abc12345" reportGroup="CollectedFees">
<!-- ID of Submerchant associated with fee - NOT Payfac ID -->
<fundingSubmerchantId>SomeSubMerchant</fundingSubmerchantId>
<!-- Your internal tracking number for fund transfer -->
<fundsTransferId>123e4567-e89b-12d3-a456-426655440000</fundsTransferId>
<amount>1000</amount>
</payFacCredit>
<!-- Example of PayFac returning money to settlement account. Funds move from PayFac Operating Account to PayFac Settlement Account. -->
<payFacDebit id="abc12346" reportGroup="MiscRefunds">
<fundingSubmerchantId>SomeSubMerchant</fundingSubmerchantId>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440001</fundsTransferId>
<amount>2000</amount>
</payFacDebit>
<!-- Example of PayFac funding the Submerchant. Funds move from the PayFac Settlement Account to the Submerchant Account. -->
<submerchantCredit id="abc12347" reportGroup="SubMerchantPayment">
<fundingSubmerchantId>SomeSubMerchant</fundingSubmerchantId>
<submerchantName>Some Merchant Inc.</submerchantName>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440002</fundsTransferId>
<amount>3000</amount>
<accountInfo>
<accType>Checking</accType>
<accNum>123456789012</accNum>
<routingNum>114567895</routingNum>
</accountInfo>
<customIdentifier>Co_Descriptor</customIdentifier>
</submerchantCredit>
<!-- Example of PayFac debiting the Submerchant. Funds move from the Submerchant Account to the PayFac Settlement Account. -->
<submerchantDebit id="abc12348" reportGroup="SubMerchantRefund">
<fundingSubmerchantId>SomeSubMerchant</fundingSubmerchantId>
<submerchantName>Some Merchant Inc.</submerchantName>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440003</fundsTransferId>
<amount>4000</amount>
<accountInfo>
<accType>Checking</accType>
<accNum>123456789012</accNum>
<routingNum>114567895</routingNum>
</accountInfo>
<customIdentifier>Co_Descriptor</customIdentifier>
</submerchantDebit>
<!-- Example of PayFac adding money into reserves. Funds move from the PayFac Settlement Account to the Reserve Account. -->
<reserveCredit id="abc12349" reportGroup="Reserve">
<fundingSubmerchantId>SomeSubMerchant</fundingSubmerchantId>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440004</fundsTransferId>
<amount>5000</amount>
</reserveCredit>
<!-- Example of PayFac getting money from reserves. Funds move from the Reserve Account to the PayFac Settlement Account. -->
<reserveDebit id="abc12350" reportGroup="SubMerchantRefund">
<fundingSubmerchantId>SomeSubMerchant</fundingSubmerchantId>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440005</fundsTransferId>
<amount>6000</amount>
</reserveDebit>
<!-- Example of PayFac funding the vendor. Funds move from the PayFac Settlement Account to the Vendor Account. -->
<vendorCredit id="abc12351" reportGroup="vendorPayment">
<fundingSubmerchantId>SomeVendor</fundingSubmerchantId>
<vendorName>Some Vendor Inc.</vendorName>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440006</fundsTransferId>
<amount>7000</amount>
<accountInfo>
<accType>Checking</accType>
<accNum>123456789012</accNum>
<routingNum>114567895</routingNum>
</accountInfo>
<vendorAddress>
<addressLine1>Address Line 1</addressLine1>
<addressLine2>Address Line 2</addressLine2>
<addressLine3>Address Line 3</addressLine3>
<city>City</city>
<state>State Abbreviation</state>
<zip>Postal Code</zip>
<country>Country Code</country>
</vendorAddress>
</vendorCredit>
</batchRequest>
</cnpRequest>
Example: cnpAPI Funding Instructions (Direct Merchant)
<cnpRequest version="12.22" xmlns="http://www.vantivcnp.com/schema" numBatchRequests="1">
<authentication>
<user>username</user>
<password>password</password>
</authentication>
<batchRequest merchantId="01601" numPayoutOrgCredit="1" payoutOrgAmount="1000" numPayoutOrgDebit="1" payoutOrgAmount="2000" numCustomerCredit="1" customerCreditAmount="3000" numCustomerDebit="1" customerDebitAmount="4000" numReserveCredit="1" reserveCreditAmount="5000" numReserveDebit="1" reserveDebitAmount="6000" numVendorCredit="1" vendorCreditAmount="7000" numVendorDebit="1" vendorDebitAmount="8000" numPhysicalCheckCredit="1" physicalCheckCreditAmount="9000" numPhysicalCheckDebit="1" physicalCheckDebitAmount="10000" sameDayFunding="true">
<!-- Example of Merchant funding themselves. Funds move from the Settlement Account to the Operating Account. -->
<payoutOrgCredit id="abc12345" reportGroup="CollectedFees">
<!-- ID of Customer associated with fee - NOT Merchant ID -->
<fundingCustomerId>1234567890</fundingCustomerId>
<!-- Your internal tracking number for fund transfer -->
<fundsTransferId>123e4567-e89b-12d3-a456-426655440000</fundsTransferId>
<amount>1000</amount>
</payoutOrgCredit>
<!-- Example of Merchant returning money to the Settlement account. Funds move from the Operating Account to the Settlement Account. -->
<payoutOrgDebit id="abc12346" reportGroup="MiscRefunds">
<fundingCustomerId>1234567890</fundingCustomerId>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440001</fundsTransferId>
<amount>2000</amount>
</payoutOrgDebit>
<!-- Example of Merchant funding the customer. Funds move from theSettlement Account to the customer Account. -->
<customerCredit id="abc12347" reportGroup="CustomerPayment">
<fundingCustomerId>1234567890</fundingCustomerId>
<customerName>John Doe</customerName>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440002</fundsTransferId>
<amount>3000</amount>
<accountInfo>
<accType>Checking</accType>
<accNum>123456789012</accNum>
<routingNum>114567895</routingNum>
</accountInfo>
<customIdentifier>Cust_Descriptor</customIdentifier>
</customerCredit>
<!-- Example of Merchant adding money into reserves. Funds move from the Settlement Account to the Reserve Account. -->
<reserveCredit id="abc12349" reportGroup="Reserve">
<fundingCustomerId>1234567890</fundingCustomerId>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440004</fundsTransferId>
<amount>5000</amount>
</reserveCredit>
<!-- Example of Merchant getting money from Reserves. Funds move from the Reserve Account to the Settlement Account. -->
<reserveDebit id="abc12350" reportGroup="SubMerchantRefund">
<fundingCustomerId>1234567890</fundingCustomerId>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440005</fundsTransferId>
<amount>6000</amount>
</reserveDebit>
<!-- Example of Merchant funding the vendor. Funds move from the Settlement Account to the Vendor Account. -->
<vendorCredit id="abc12351" reportGroup="vendorPayment">
<fundingCustomerId>1234567890</fundingCustomerId>
<vendorName>Some Vendor Inc.</vendorName>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440006</fundsTransferId>
<amount>7000</amount>
<accountInfo>
<accType>Checking</accType>
<accNum>123456789012</accNum>
<routingNum>114567895</routingNum>
</accountInfo>
<vendorAddress>
<addressLine1>Address Line 1</addressLine1>
<addressLine2>Address Line 2</addressLine2>
<addressLine3>Address Line 3</addressLine3>
<city>City</city>
<state>State Abbreviation</state>
<zip>Postal Code</zip>
<country>Country Code</country>
</vendorAddress>
</vendorCredit>
</batchRequest>
</cnpRequest>
Online Funding Instructions have the same structure as Batch transactions, except the parent element is cnpOnlineRequest
as shown in the example below.
Example: Online Sub-merchant Credit Request
<cnpOnlineRequest version="12.0" xmlns="http://www.vantivcnp.com/schema" merchantId="100" sameDayFunding="true">
<authentication>
<user>User Name</user>
<password>Password</password>
</authentication>
<!-- Example of PayFac funding the Submerchant. Funds move from the PayFac Settlement Account to the Submerchant Account. -->
<submerchantCredit id="A123456" reportGroup="SubMerchantPayment">
<fundingSubmerchantId>SomeSubMerchant</fundingSubmerchantId>
<submerchantName>Some Merchant Inc.</submerchantName>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440002</fundsTransferId>
<amount>3000</amount>
<accountInfo>
<accType>Checking</accType>
<accNum>123456789012</accNum>
<routingNum>114567895</routingNum>
</accountInfo>
<customIdentifier>Co_Descriptor</customIdentifier>
</submerchantCredit>
</cnpOnlineRequest>
All Funding Instruction responses, except the Void response, have the identical structure other than the parent element. The example shown below, for a payfacCreditResponse
illustrates all response structures.
Example: Funding Instruction Response
<payFacCreditResponse id="asdf12345" reportGroup="CollectedFees">
<cnpTnxId>82823972759879805</cnpTxnId>
<fundsTransferId>123e4567-e89b-12d3-a456-426655440000</fundsTransferId>
<response>000</response>
<responseTime>2017-09-09T20:28:32</responseTime>
<message>Approved</message>
</payFacCreditResponse>