PayHost Follow-Up Requests

Follow-up requests allow a merchant to perform additional actions on previously processed transactions.

These actions include querying transaction status, voiding transactions, settling authorised transactions, and issuing refunds.

PayGate supports the following follow-up request types:

  • Query

  • Void

  • Settlement

  • Refund


Query Request

A Query request retrieves the final status and details of a previously processed transaction.

You can search using one of the following identifiers:

  • PayRequestId

  • MerchantOrderId

  • TransactionId (TransId)

Important: At least one of these values must be provided. If none are supplied, the request will return an error.

Example Query Request

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header/>
    <SOAP-ENV:Body>
        <SingleFollowUpRequest xmlns="http://www.paygate.co.za/PayHOST">
            <QueryRequest>
                <Account>
                     <PayGateId>10011072130</PayGateId>
                    <Password>test</Password>
                </Account>
             <MerchantOrderId>AddCardPayment</MerchantOrderId>
             <TransactionType>Authorisation</TransactionType>
            </QueryRequest>
        </SingleFollowUpRequest>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Example Query Response

Returns full transaction details, including status, payment method, result codes, and references.


Void Request

A Void request cancels a transaction that has not yet been settled or refunded.

Void operations can only be performed before the transaction has been submitted to the acquiring bank.

Example Void Request

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 
    <SOAP-ENV:Header/> 
    <SOAP-ENV:Body> 
        <SingleFollowUpRequest xmlns="http://www.paygate.co.za/PayHOST"> 
            <VoidRequest> 
                <Account> 
                    <PayGateId>10011072130</PayGateId> 
                    <Password>test</Password> 
                </Account> 
                <MerchantOrderId>8101213</MerchantOrderId> 
                <TransactionType>Authorisation</TransactionType> 
            </VoidRequest> 
        </SingleFollowUpRequest> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

Example Void Response

Returns detailed status information confirming whether the void was successful.


Settlement Request

A Settlement request captures funds for a previously authorised transaction when AutoSettle is disabled.

Important: Either TransactionId or MerchantOrderId must be provided. Supplying both will result in an error.

Example Settlement Request

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 
    <SOAP-ENV:Header/> 
    <SOAP-ENV:Body> 
        <SingleFollowUpRequest xmlns="http://www.paygate.co.za/PayHOST"> 
            <SettlementRequest> 
                <Account> 
                    <PayGateId>10011072130</PayGateId> 
                    <Password>test</Password> 
                </Account>
                <MerchantOrderId>8101213</MerchantOrderId> 
            </SettlementRequest> 
        </SingleFollowUpRequest> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

Example Settlement Response

Returns confirmation that the settlement request has been received along with transaction status details.


Refund Request

A Refund request returns funds for a transaction that has already been settled.

You may identify the original transaction using:

  • TransactionId, or

  • MerchantOrderId

Example Refund Request

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 
    <SOAP-ENV:Header/> 
    <SOAP-ENV:Body> 
        <SingleFollowUpRequest xmlns="http://www.paygate.co.za/PayHOST"> 
            <RefundRequest> 
                <Account> 
                    <PayGateId>10011072130</PayGateId> 
                    <Password>test</Password> 
                </Account> 
                <MerchantOrderId>8101213</MerchantOrderId>
                <Amount>100</Amount>
            </RefundRequest> 
        </SingleFollowUpRequest> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

Amount values are specified in cents.
For example, R32.95 should be sent as 3295.

Example Refund Response

Returns confirmation that the refund request has been received along with transaction status details.


Testing

You can test follow-up requests using the PayGate test environment credentials below.

Test Accounts

3D Secure Enabled

  • PayGate ID: 10011064270

  • Password: test

3D Secure Disabled

  • PayGate ID: 10011072130

  • Password: test

PayVault tokenisation and token-based processing are supported for both accounts.


Simulating Transaction Results

Use the following test card numbers to produce predictable outcomes.

Approved Transactions

  • RESULT_CODE = 990017

  • TRANSACTION_STATUS = 1

Card BrandCard NumberRisk Indicator
Visa4000000000000002AX (Authenticated)
MasterCard5200000000000015AX (Authenticated)

Insufficient Funds

  • RESULT_CODE = 900003

  • TRANSACTION_STATUS = 2

Card BrandCard NumberRisk Indicator
MasterCard5200000000000023NX (Not Authenticated)
American Express378282246310005NX