Transaction Result Analysis
Transaction Approval
The SOAP message wrapping a transaction approval has been presented in the previous chapter together with an example. The transaction status report generated by the Gateway is contained in the ipgapi:IPGApiOrderResponse element and can be understood as the data returned by the Web Service operation. In the following, its elements – relative to the ipgapi:IPGApiOrderResponse super element – are described.
Note that always the full set of elements is contained in the response – however, some elements might be empty.
Path/Name | XML Schema type | Description |
---|---|---|
ipgapi:CommercialServiceProvider | xs:string | Indicates your provider. |
ipgapi:TransactionTime | xs:string | The time stamp which is set by the Gateway before returning the transaction approval. |
ipgapi:ProcessorReferenceNumber | xs:string | In some cases, this element might be empty. It stores a number allowing the credit card processor to refer to this transaction. You do not need to provide this number in any further transaction. However, have that number ready, in case you detect any problems with your transaction and you want to contact support. |
ipgapi:ProcessorResponseMessage | xs:string | n case of an approval, this element contains either contains the response message provided by the authorisation system (e.g. an auth code) or in case there is no such message, the string: Function performed error-free |
ipgapi:ProcessorResponseCode | xs:string | The response code from the credit card processor |
ipgapi:ErrorMessage | xs:string | This element is empty in case of an approval. |
ipgapi:FraudScore | xs:int | This element contains the fraud score of the transaction, if the Store is activated for the Fraud Detect product. |
ipgapi:OrderId | xs:string | This element contains the order ID. For Sale, PreAuth, ForceTicket, and Credit transactions, a new order ID is returned. For PostAuth, Return, and Void transactions, supply this number in the v1:OrderId element for making clear to which transaction you refer. The ipgapi:OrderId element of a transaction approval to a PostAuth, Return, or Void transaction simply returns the order ID, such a transaction has referred to. |
ipgapi:ApprovalCode | xs:string | Stores the approval code the transaction processor has created for this transaction. You do not need to provide this code in any further transaction. However, have that number ready, in case you detect any problems with your transaction and you want to contact support. |
ipgapi:AVSResponse | xs:string | Returns the address verification system (AVS) response. |
ipgapi:TDate | xs:string | Stores the TDate you have to supply when voiding this transaction (which is only possible for Sale and PostAuth transactions). In this case, pass its value in the v1:TDate element of the Void transaction you want to build. |
ipgapi:TransactionResult | xs:string | Stores the transaction result which is always set to APPROVED in case of an approval or WAITING in case the final result is not yet clear and will be updated at a later point. |
ipgapi:TerminalID | xs:string | The Terminal ID used for this transaction. |
ipgapi:PaymentType | xs:string | The payment type used for this transaction. |
ipgapi:Brand | xs:string | The brand of the card used for this transaction. |
ipgapi:ConvenienceFee | xs:decimal | The Convenience fee value, returned in the response if you have this feature configured and this is applicable for Sale transaction. |
ipgapi:Country | xs:string | The country where the card has been issued that has been used for this transaction. |
ipgapi:SecurePlusResponse | xs:string | The response from UnionPay SecurePlus authentication |
ipgapi:SchemeTransactionId | xs:string | Returned in the response by Mastercard for stored credentials transactions. |
ipgapi:MerchantAdviceCodeIndicator | xs: string2max | The transaction response code for declines for authorizations on Nashville |
ipgapi:UpdatedPrimaryAccountNumber | xs:string | The response from Mastercard and Visa Account Updater when stored credentials are not managed by the Gateway |
ipgapi:UpdatedExpirationDate | xs:string | The response from Mastercard and Visa Account Updater when stored credentials are not managed by the Gateway |
ipgapi:UpdatedAccountStatus | xs:string | The response from Mastercard and Visa Account Updater when stored credentials are not managed by the Gateway; available values: ACCOUNT_CHANGED ACCOUNT_CLOSED EXPIRY_CHANGED CONTACT_CARDHOLDER |
ipgapi:UpdatedAccountErrorCode | xs:string | The response from Mastercard Account Updater when stored credentials are not managed by the Gateway |
ipgapi:RedirectUrl | xs:string100max | The URL included in the response from the Gateway, where you are supposed to redirect the consumer using China domestic or Boleto payment methods to, so they can continue with the transaction processing |
ipgapi:StandinResponseDetails | xs:string | Authentication details returned from Standin instruction payment transaction; available for Indian market only |
ipgapi:Secure3DResponse/CardHolderInfo | xs:string | A text optionally provided by the issuer to the cardholder during frictionless transaction that was not authenticated by the ACS. |
ipgapi:MerchantAdviceMessage | xs:string | Additional information provided by Issuer in case specific card types have been used. Currently available values: • “Single-use virtual card number presented” • “Non-reloadable prepaid card presented” |
ipgapi:ProcessorAssociationResponseMessage | xs:string | A text provided by the authorisation system that presents details of the transaction status; applicable for Mastercard and Visa. Example value: ‘Partial Approval’ |
ipgapi: AccountNameMatchResponse | xs:string | Field for Visa Account Name Inquiries; a value consists of 5 characters representing the status of the billing name match: • 1st letter for FullName • 2nd for FirstName • 3rd for MiddleName • 4th for LastName with possible values: • M for match • P for partial match • N for no match and a 5th letter as NameVerificationIndicator with possible values: • P for performed • S not supported • E exception (not perfomed) Example response value: 'MNPMP' |
Transaction Failure
As shown in the previous chapter, a SOAP fault message, resulting from the credit card processor having failed to process your transaction, contains an ipgapi:IPGApiOrderResponse element passed as child of a SOAP detail element. Note that its sub elements are exactly the same as in the transaction approval case.
Their meaning in the failure case is described below:
Path/Name | XML Schema type | Description |
---|---|---|
ipgapi:CommercialServiceProvider | xs:string | Indicates your provider. |
ipgapi:TransactionTime | xs:string | The time stamp which is set by the Gateway before returning the transaction failure. The format is Unix time (https://en.wikipedia.org/wiki/Unix_time). |
ipgapi:ProcessorReferenceNumber | xs:string | In some cases, this element might be empty. Stores a number allowing the credit card processor to refer to this transaction. You do not need to provide this number in any further transactions. However, have that number ready, in case you detect any problems with your transaction and you want to contact support. |
ipgapi:ProcessorResponseMessage | xs:string | Stores the error message the credit card processor has returned. For instance, in case of an expired credit card this might be: Card expiry date exceeded |
ipgapi:ProcessorResponseCode | xs:string | The response code from the credit card processor |
ipgapi:ProcessorApprovalCode | xs:string | The approval code from the credit card processor |
ipgapi:ProcessorReceiptNumber | xs:string | The receipt number from the credit card processor |
ipgapi:ProcessorTraceNumber | xs:string | The trace number from the credit card processor |
ipgapi:ErrorMessage | xs:string | Stores the error message returned by the Gateway. It is usually encoded in the format SGS-XXXXXX, but this will not always be the case. Message with XXXXXX being a six digit error code and Message describing the error (this description might be different from the processor response message). Make sure to have the error code and message ready when contacting support. |
ipgapi:OrderId | xs:string | Stores the order ID. In contrast to an approval, this order ID is never required for any further transaction, but needed for tracing the cause of the error. Hence, make sure to have it ready when contacting support. |
ipgapi:ApprovalCode | xs:string | This element is empty in case of a transaction failure. |
ipgapi:AVSResponse | xs:string | Returns the address verification system (AVS) response. |
ipgapi:TDate | xs:string | Stores the TDate. Similar to the order ID, the TDate is never required for any further transaction, but needed for tracing the error cause. Hence, make sure to have it ready when contacting support. |
ipgapi:TransactionResult | xs:string | In the failure case, there are three possible values: • DECLINED • FRAUD • FAILED DECLINED is returned in case the credit card processor does not accept the transaction, e.g. when finding the customer’s funds not to be sufficient. FRAUD is returned in case a fraud attempt is assumed by the Gateway. If an internal gateway error should occur, the returned value is FAILED. |
ipgapi:TerminalID | xs:string | The Terminal ID used for this transaction. |
ipgapi:TransactionDeclineReason | xs:string | Provides further advise how to handle the transaction decline. Examples of the values: • “Retry Later” • “No Updated Credentials, Do not retry” • “Authentication may improve likely hood of approval” • “Suspected fraud, do not retry” |
ipgapi:MerchantAdviceMessage | xs:string | Additional information provided by Issuer in case specific card types have been used. Currently available values: • “Single-use virtual card number presented” • “Non-reloadable prepaid card presented” |
ipgapi:ProcessorAssociationResponseMessage | xs:string | A text provided by the authorisation system that presents details of the transaction status; applicable for Mastercard and Visa. Example value: “Partial Approval” |
ipgapi:AccountNameMatchResponse | xs:string | Field for Visa Account Name Inquiries; a value consists of 5 characters representing the status of the billing name match: • 1st letter for FullName • 2nd for FirstName • 3rd for MiddleName • 4th for LastName with possible values: • M for match • P for partial match • N for no match and a 5th letter as NameVerificationIndicator with possible values: • P for performed • S not supported • E exception (not perfomed) Example response value: 'MNPMP' |
Updated about 2 months ago