Uses
The xmltrans2.cgi module can be used to originate Credit, Force, Postauth, Retry and Void transactions based on previous transactions. It provides the same features as form based transactions such as:

  • Merchant and customer emails.
  • Customized email text
Submission Details

URL

https://secure.paymentclearing.com/cgi-bin/rc/xmltrans2.cgi

Mime Type

xmltrans2.cgi is accessed with a HTTP POST and requires a CONTENT_TYPE header to be specified. Either 'application/x-www-form-urlencoded' or 'text/xml' must be used. If 'application/x-www-form-urlencoded' is sent then the HTTP body must contain valid form markup. See WW3 Form Spec for details. If 'text/xml' is used then the HTTP body should only contain the XML request.

XML Structures

PostAuthTransaction

This will generate a postauth (capture) for a previously run Preauth transaction. The OperationXID field should contain the xid for the original Preauth

<?xml version="1.0"?>
<ITransactInterface>
    <VendorIdentification>
        <VendorId>1</VendorId>
        <VendorPassword>test</VendorPassword>
        <HomePage>text</HomePage>
    </VendorIdentification>
    <PostAuthTransaction>
	<OperationXID>12345</OperationXID>
	<Total>5.00</Total>
        <TransactionControl>
            <SendCustomerEmail>TRUE</SendCustomerEmail>
            <EmailText>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
            </EmailText>
        </TransactionControl>
    </PostAuthTransaction>
</ITransactInterface>

TranCredTransaction

<?xml version="1.0"?>
<ITransactInterface>
    <VendorIdentification>
        <VendorId>1</VendorId>
        <VendorPassword>test</VendorPassword>
        <HomePage>text</HomePage>
    </VendorIdentification>
    <TranCredTransaction>
	<OperationXID>12345</OperationXID>
	<Total>5.00</Total>
        <TransactionControl>
            <SendCustomerEmail>TRUE</SendCustomerEmail>
            <EmailText>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
            </EmailText>
        </TransactionControl>
    </TranCredTransaction>
</ITransactInterface>

TranForceTransaction

<?xml version="1.0"?>
<ITransactInterface>
    <VendorIdentification>
        <VendorId>1</VendorId>
        <VendorPassword>test</VendorPassword>
        <HomePage>text</HomePage>
    </VendorIdentification>
    <TranForceTransaction>
	<OperationXID>12345</OperationXID>
	<AuthCode>1234</AuthCode>
	<Total>5.00</Total>
        <TransactionControl>
            <SendCustomerEmail>TRUE</SendCustomerEmail>
            <EmailText>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
            </EmailText>
        </TransactionControl>
    </TranForceTransaction>
</ITransactInterface>

TranRetryTransaction

<?xml version="1.0"?>
<ITransactInterface>
    <VendorIdentification>
        <VendorId>1</VendorId>
        <VendorPassword>test</VendorPassword>
        <HomePage>text</HomePage>
    </VendorIdentification>
    <TranRetryTransaction>
	<OperationXID>12345</OperationXID>
        <TransactionControl>
            <SendCustomerEmail>TRUE</SendCustomerEmail>
            <EmailText>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
            </EmailText>
        </TransactionControl>
    </TranRetryTransaction>
</ITransactInterface>

VoidTransaction

<?xml version="1.0"?>
<ITransactInterface>
    <VendorIdentification>
        <VendorId>1</VendorId>
        <VendorPassword>test</VendorPassword>
        <HomePage>text</HomePage>
    </VendorIdentification>
    <VoidTransaction>
	<OperationXID>12345</OperationXID>
        <TransactionControl>
            <SendCustomerEmail>TRUE</SendCustomerEmail>
            <EmailText>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
                <EmailTextItem>test1</EmailTextItem>
            </EmailText>
        </TransactionControl>
    </VoidTransaction>
</ITransactInterface>

TransactionResponse

All transaction requests return this response structure. The customer data fields are populated with data from the request designated by the OperationXID field in the request.

<?xml version="1.0" standalone="yes"?>
<ItransactInterface>
  <TransactionResponse>
    <TransactionResult>
      <Status>text</Status> <!-- Will be one of: ERROR, FAIL, OK -->      
    	<!-- ErrorCategory will be one of :
	AVS_FAILURE - Transaction will be automatically voided.
	CVV2_FAILURE - Transaction will be automatically voided.
	INTERNAL_ERROR - Something unexpected happened.
	PROCESSOR_ERROR - Something such as DECLINED, etc .
	PROCESSOR_FAIL - 
	REQUEST_FORMAT - Request received has an invalid format.
	REQUEST_VALIDATION - XML content is invalid.
	-->            
      <ErrorCategory>text</ErrorCategory>
      <!-- ErrorMessage could be anything. -->      	
      <ErrorMessage>text;/ErrorMessage>
      <!-- Authorization code received from processing network. -->      
      <AuthCode></AuthCode>
      <!-- AVSCategory will be one of :
	address - Address Matched
	address_postal - Address and postal patched
	address_zip5 - Address and five digit zip matched
	address_zip9 - Address and nine digit zip matched
	address_ok_postal_format_error - Address matched, postal format error
	global_non_participant - International with no AVS support
	international_address_not_verified - International with no AVS support
	no_match - No address or postal match
	no_response - No response
	not_allowed - Not allowed
   	postal - Postal match
   	postal_ok_address_format_error - Postal matched, address format error
   	service_not_supported - AVS service not supported for card
   	unavailable - AVS service unavailable.
   	zip5 - Five digit zip matched
   	zip9 - Nine digit zip matched
	-->                  
      <AVSCategory></AVSCategory>
      <!-- AVSResponse is actual AVS response received from the processing network. -->      
      <AVSResponse></AVSResponse>
      <!-- CVV2Response is actual CVV response received from the processing network. -->            
      <CVV2Response></CVV2Response>
      <TimeStamp></TimeStamp>
      <!-- TestMode indicates the test status of your gateway account. 0=off 1=on -->      
      <TestMode></TestMode>
      <Total></Total>
      <XID></XID>
      <CustomerData>
        <BillingAddress>
          <Address1 />
          <City></City>
          <FirstName></FirstName>
          <LastName></LastName>
          <State></State>
          <Zip></Zip>
          <Country></Country>
          <Phone></Phone>
        </BillingAddress>
        <ShippingAddress>
          <Address1></Address1>
          <City></City>
          <FirstName></FirstName>
          <LastName></LastName>
          <State></State>
          <Zip></Zip>
          <Country></Country>
          <Phone></Phone>
        </ShippingAddress>
      </CustomerData>
    </TransactionResult>
  </TransactionResponse>
</ItransactInterface>