Response Message Types

PayGate Direct API responses may return different types of messages depending on the transaction outcome. Each response includes transaction status details and, when applicable, redirect information.

Overview of Response Types

Status NameDescription
CompletedTransaction was successful.
PendingTransaction is pending further processing.
CancelledTransaction was cancelled.
ErrorAn error occurred while processing the transaction.
ValidationErrorOne or more request parameters failed validation.
ThreeDSecureRedirectRequired3D Secure authentication is required.
WebRedirectRequiredUser must be redirected to complete payment.

Response Fields

All response types include a Status block. The following fields may be returned based on the response context:

FieldDescriptionType
TransactionIdUnique reference number assigned by PayGate.Number(11)
ReferenceYour own reference value (e.g. invoice or order number).Varchar(80)
AcquirerCodeStatus code from the acquiring bank.String
StatusNameHigh-level transaction status. See status names above.String
StatusDetailAdditional status details.Varchar(80)
AuthCodeAcquirer’s authorisation code.Varchar(10)
PayRequestIdUnique identifier for this payment request.Varchar(36)
VaultIdToken associated with the card (if PayVault used).String
VaultData1, VaultData2Info for managing the PayVault token (optional).Varchar(50)
TransactionStatusCodeNumeric code representing the transaction status.Number(1)
TransactionStatusDescriptionDescription of transaction status.Varchar(80)
ResultCodeNumeric code indicating the result of processing.Number(11)
ResultDescriptionDescription of the result code.Varchar(80)
Currency3-letter ISO currency code used.Char(3)
AmountAmount in cents (e.g. 3295 = R32.95).Number(11)
RequestedCurrencyOriginal request currency code (PayFX only).Char(3)
RequestedAmountOriginal amount in request currency (PayFX only).Number(11)
ConversionRateConversion rate used for PayFX.Decimal
RiskIndicator2-character indicator for 3D Secure status and future use.Char(2)
PaymentPayment method used (e.g. CC for credit card).PaymentType
BillingDescriptorText shown on customer bank statement (if supported).Varchar(45)
UserDefinedFieldCustom user-defined fields.UserDefinedFieldType

Redirect Response

If redirection is required (e.g. for 3D Secure), a Redirect object is included:

FieldDescription
RedirectUrlThe URL to which the customer must be redirected.
KeyValuePairsList of parameters (key-value) to include in the redirect POST message.

Example:

<Redirect>
    <RedirectUrl>https://secure.paygate.co.za/PayHost/redirect.trans</RedirectUrl>
    <UrlParams>
        <key>PAYGATE_ID</key>
        <value>10011013800</value>
    </UrlParams>
    <UrlParams>
        <key>PAY_REQUEST_ID</key>
        <value>5FC0E808-27EB-7A69-64BF-8163B2837869</value>
    </UrlParams>
    <UrlParams>
        <key>CHECKSUM</key>
        <value>7fe36c62991df6de51b09db0c6fd6r29</value>
    </UrlParams>
</Redirect>

Example: Successful Non-Redirect Response

<SinglePaymentResponse>
  <CardPaymentResponse>
    <Status>
      <TransactionId>28791836</TransactionId>
      <Reference>YourInvoiceNumber1414070789678</Reference>
      <AcquirerCode>00</AcquirerCode>
      <StatusName>Completed</StatusName>
      <AuthCode>FU6FWP</AuthCode>
      <PayRequestId>A23EF01C-D1E7-4F77-B50D-CEE28B3D4ACC</PayRequestId>
      <TransactionStatusCode>1</TransactionStatusCode>
      <TransactionStatusDescription>Approved</TransactionStatusDescription>
      <ResultCode>990017</ResultCode>
      <ResultDescription>Auth Done</ResultDescription>
      <Currency>ZAR</Currency>
      <Amount>113</Amount>
      <RiskIndicator>XX</RiskIndicator>
      <PaymentType>
        <Method>CC</Method>
        <Detail>MasterCard</Detail>
      </PaymentType>
    </Status>
  </CardPaymentResponse>
</SinglePaymentResponse>

Example: Successful Response with Tokenisation

<SinglePaymentResponse>
  <CardPaymentResponse>
    <Status>
      <TransactionId>28793400</TransactionId>
      <Reference>YourInvoiceNumber1414583977479</Reference>
      <AcquirerCode>00</AcquirerCode>
      <StatusName>Completed</StatusName>
      <AuthCode>8TDDFD</AuthCode>
      <PayRequestId>B897CD11-D0BE-50E3-68C9-7FB34B5C5C9B</PayRequestId>
      <VaultId>62a083d3-1f7c-474a-bd95-87387323dde0</VaultId>
      <PayVaultData>
        <cardNumber>xxxxxxxxxx0015</cardNumber>
        <expDate>012021</expDate>
      </PayVaultData>
      <VaultData2>112030</VaultData2>
      <TransactionStatusCode>1</TransactionStatusCode>
      <TransactionStatusDescription>Approved</TransactionStatusDescription>
      <ResultCode>990017</ResultCode>
      <ResultDescription>Auth Done</ResultDescription>
      <Currency>ZAR</Currency>
      <Amount>113</Amount>
      <RiskIndicator>XX</RiskIndicator>
      <PaymentType>
        <Method>CC</Method>
        <Detail>MasterCard</Detail>
      </PaymentType>
    </Status>
  </CardPaymentResponse>
</SinglePaymentResponse>

Example: Redirect Required for Web Payment

<SinglePaymentResponse>
  <WebPaymentResponse>
    <Status>
      <StatusName>WebRedirectRequired</StatusName>
      <StatusDetail>Web Redirect Required To Complete Transaction</StatusDetail>
    </Status>
    <Redirect>
      <RedirectUrl>https://secure.paygate.co.za/PayHost/process.trans</RedirectUrl>
      <UrlParams>
        <key>PAY_REQUEST_ID</key>
        <value>18BBC8A5-FCFC-85AC-5733-F3EC906FD7E9</value>
      </UrlParams>
      <UrlParams>
        <key>PAYGATE_ID</key>
        <value>10011013800</value>
      </UrlParams>
      <UrlParams>
        <key>CHECKSUM</key>
        <value>FBDDDA576EC2A0907FECA5F776C07095</value>
      </UrlParams>
    </Redirect>
  </WebPaymentResponse>
</SinglePaymentResponse>