NAV
json

Introduction

The PGW payment gateway provides both an API and Hosted payment page solutions. This documentation shows how to operate with our web services(SOAP) and REST API. By using our API, you can handle payments on your website without re-direction to a gateway hosted payment page. Transaction requests are sent online, in real-time.

Authentication

API users are authenticated using HTTP Basic authentication.

Example of using the API via curl

curl \
--data "$SOAP_REQUEST" \
-H "Content-Type: text/xml" \
--user {$API_USERNAME}:{$API_PASSWORD} \
https://{$SOAP_ENDPOINT}

curl \
--data "$JSON_REQUEST" \
-H 'Accept: application/json' -H "Content-Type: application/json" \
--user {$API_USERNAME}:{$API_PASSWORD} \
https://{$REST_ENDPOINT}

curl \
--data "$XML_REQUEST" \
-H 'Accept: application/xml' -H "Content-Type: application/xml" \
--user {$API_USERNAME}:{$API_PASSWORD} \
https://{$REST_ENDPOINT}

curl \
--data "$FI_REQUEST" \
-H 'Accept: application/fastinfoset' -H "Content-Type: application/fastinfoset" \
--user {$API_USERNAME}:{$API_PASSWORD} \
https://{$REST_ENDPOINT}

Operations

authorization

Allows the merchant to request the desired amount from the card, which is then invoiced for the transaction. This method gives the bank authorization to collect the funds from the customer.

Request parameters:

Parameter Type Size Comment Requirement
merchant-transaction-id string 1…32 ID of the transaction in the merchant's system Required
description string 5…512 Description of the transaction. This field is required only for certain acquirers Conditional Required
customer Customer Some information about the client of the merchant (buyer) Required
amount Amount > 0 Amount Required
card Card Card data Required
order Order Order details Required
shipping Shipping Shipping information Optional
recurring-type string Indicator of the recurring transaction. Can be INITIAL or REPEATED Optional
parent-transaction-id string ID of the parent pgw transaction. Example: 7bb2bafb-fbc0-410f-9965-81489a2b3bf2 Optional
threed ThreeDResponse or ThreeDInfo 3D Secure verification information. Use this field if you are using external 3DS provider. Optional
return-url string In case of asynchronous transaction, buyer will be redicted to this URL. Example: https://example.com/return Optional
notification-url string Merchant will be notified about the status of this transaction to this URL. Example: https://example.com/notify. If you want to use this field, please contact us to whitelist your domain. Optional

Response parameters:

See Response.

authorization request:

{
  "description": "Test transaction 1491398548846",
  "merchant-transaction-id": "729016fb-a7f3-467e-a2b0-72d0554b263d",
  "customer": {
    "id": "a48481d5-4ee3-4be2-a9bf-e38e514ed8c9",
    "ip": "192.168.1.98"
  },
  "amount": {
    "value": 4.25,
    "currency": "EUR"
  },
  "card": {
    "number": "4111111111111111",
    "holder": "John Test",
    "expiration-date": "2021-01",
    "security-code": "123"
  },
  "order": {
    "name": "Jonh Test",
    "country": "US",
    "region": "US-GA",
    "city": "Macon",
    "postal-code": "20815",
    "street-line1": "71 Pilgrim Avenue",
    "phone": "+1-541-754-3010",
    "email": "test@test.com"
  },
  "return-url": "https://example.site/webhook"
}

preauthorization

Reserves the desired amount on the card of the buyer. The amount will be blocked on the card. It will remain in that state until captured or until the block expires.

Request parameters:

Parameters of this method are the same as Authorization().

Response parameters:

See Response.

capture

Collects the funds due from previously completed pre-authorizations. In other words it finalizes pre-authorizations.

Request parameters:

Parameter Type Size Comment Requirement
merchant-transaction-id string 1…32 ID of the transaction in the merchant's system Required
description string 5…512 Description of the transaction Required
amount decimal > 0 Amount Optional

capture request:

{
  "description": "capture transaction TEST1491398548846",
  "merchant-transaction-id": "729016fb-a7f3-467e-a2b0-72d0554b263d"
}

Response parameters:

See Response.

capture response:

{
  "status-code": "SUCCESS",
  "transaction-id": "7bb2bafb-fbc0-410f-9965-81489a2b3bf2",
  "merchant-transaction-id": "729016fb-a7f3-467e-a2b0-72d0554b263d"
}

refund

Returns funds to the buyer's card that were already collected by an authorization() or a capture().

Parameter Type Size Comment Requirement
merchant-transaction-id string 1…32 ID of the transaction in the merchant's system Required
description string 5…512 Description of the transaction Required
amount decimal > 0 Amount Optional
card Card Credit card data. Can be used if the card with authorization is already expired. Optional

Response parameters:

See Response.

refund request:

{
  "description": "capture transaction TEST1491398548846",
  "merchant-transaction-id": "729016fb-a7f3-467e-a2b0-72d0554b263d"
}

refund response:

{
  "status-code": "SUCCESS",
  "transaction-id": "7bb2bafb-fbc0-410f-9965-81489a2b3bf2",
  "merchant-transaction-id": "729016fb-a7f3-467e-a2b0-72d0554b263d"
}

void

Cancels an existing transaction. Must be submitted before any transaction settlement has taken place.

Parameter Type Size Comment Requirement
merchant-transaction-id string 1…32 ID of the transaction in the merchant's system Required
description string 5…512 Description of the transaction Required
transaction-id string PGW transaction id. Example: 7bb2bafb-fbc0-410f-9965-81489a2b3bf2 Optional
transaction-type string Any TransactionType except VOID Optional

Response parameters:

See Response.

void request:

{
  "merchant-transaction-id": "4c2cf5fd-6984-4700-98fa-9f29ff716e8c",
  "description": "Payment 22",
  "transaction-id": "7bb2bafb-fbc0-410f-9965-81489a2b3bf2",
  "transaction-type": "AUTHORIZATION"
}

void response:

{
  "status-code": "SUCCESS",
  "transaction-id": "7bb2bafb-fbc0-410f-9965-81489a2b3bf2",
  "merchant-transaction-id": "729016fb-a7f3-467e-a2b0-72d0554b263d"
}

get-status

Checks transaction status. Returns the result of the transaction.

One of:

Name Data Type Size Comment Requirement
merchant-transaction-id string 1…32 ID of the transaction in the merchant's system Required
transaction-type string TransactionType Optional

Or:

Name Data Type Size Comment Requirement
transaction-id string PGW transaction id. Example: 7bb2bafb-fbc0-410f-9965-81489a2b3bf2 Required

Response parameters:

See Response.

get-status request:

{
  "merchant-transaction-id": "4c2cf5fd-6984-4700-98fa-9f29ff716e8c",
  "description": "Payment 22",
  "transaction-id": "7bb2bafb-fbc0-410f-9965-81489a2b3bf2",
  "transaction-type": "AUTHORIZATION"
}

get-status response:

{
  "status-code": "SUCCESS",
  "transaction-id": "7bb2bafb-fbc0-410f-9965-81489a2b3bf2",
  "merchant-transaction-id": "729016fb-a7f3-467e-a2b0-72d0554b263d"
}

Response

Describes the answer of the gateway for the request sent to PGW via API.

Common response fields

Name Data Type Comment Requirement
status-code string Status code: SUCCESS, WARNING, FAILURE, IN_PROGRESS Required
transaction-id string PGW transaction id. Example: 7bb2bafb-fbc0-410f-9965-81489a2b3bf2 Required
merchant-transaction-id string ID of the transaction in the merchant's system Required
error Array of TransactionError Complex field describing the error Optional
acquirer-transaction-id string Transaction ID in the acquirer system Optional
redirect-url string In case of 3D secure transaction it can happen that you'll have to redirect the buyer to 3D secure checikng page. This parameter shows where to redirect your buyer in order to proceed with the transaction. Optional
post-url string In some case the acquirer doesn't support redirect-url schema and it is required to POST a form on the client side in order to be redirected to the 3D secure challange page. This parameter shows the URL to submit POST client’s browser form. Optional
post-params Array of {name:string, value:string} Form parameters to submit to post-url. Optional

Successful transaction:

{
  "status-code": "SUCCESS",
  "transaction-id": "7bb2bafb-fbc0-410f-9965-81489a2b3bf2",
  "merchant-transaction-id": "729016fb-a7f3-467e-a2b0-72d0554b263d"
}

Failed transaction:

{
  "status-code": "FAILURE",
  "transaction-id": "7bb2bafb-fbc0-410f-9965-81489a2b3bf2",
  "merchant-transaction-id": "729016fb-a7f3-467e-a2b0-72d0554b263d",
  "error": [
    {
      "code": "05",
      "message": "Do not honor",
      "type": "ERROR"
    }
  ]
}

Transaction in progress. Example with redirect-url. You can redirect client via Location header:

{
  "status-code": "IN_PROGRESS",
  "transaction-id": "7bb2bafb-fbc0-410f-9965-81489a2b3bf2",
  "merchant-transaction-id": "729016fb-a7f3-467e-a2b0-72d0554b263d",
  "redirect-url": "https://redirect-client-to.site/",
}

HTTP/2.0 303
Location: https://redirect-client-to.site/

Transaction in progress. Example with post-url. You have to submit the form to post-url with post-params fields:

{
  "status-code": "IN_PROGRESS",
  "transaction-id": "7bb2bafb-fbc0-410f-9965-81489a2b3bf2",
  "merchant-transaction-id": "729016fb-a7f3-467e-a2b0-72d0554b263d",
  "post-params": [
      {
          "name": "param1",
          "value": "1002230405120427"
      },
      {
          "name": "param2",
          "value": "1121230419121442"
      },
      {
          "name": "param3",
          "value": "32B70DA186480E10A7374BA3D68047C059FB82F277BBBD9AC741"
      }
  ],
  "post-url": "https://post-url.site/capturePayment",
}

Example of the form to be created on the client's side to submit with post-url and post-params.

<form name=request method=POST action="https://post-url.site/capturePayment">
  <input type=hidden name=param1 value=1002230405120427>
  <input type=hidden name=param2 value=1121230419121442>
  <input type=hidden name=param3 value=32B70DA186480E10A7374BA3D68047C059FB82F277BBBD9AC741>
</form>

<script type=module>
  document.forms.request.submit();
</script>

status-code legend

Data Types

Date

string of the following format "YYYY-MM-DD". Example "2023-12-25" for December 25, 2023.

Card

Name Data Type Size Comment Requirement
holder string 4…40 Card holder Required
number string 12…20 Card number. Only numbers, without punctuation. Required
security-code string 3…4 The CVV (or CVC) is a sequence of 3-4 digits on the back of the card Required
expiration-date string 7 Card expiration date. YearMonth: yyyy-mm Required

TransactionType

TransactionType is a string with one of the following values: "AUTHORIZATION", "PREAUTHORIZATION", "REFUND", "CAPTURE", "REVERSAL", "CHARGEBACK", "ENROLLMENT", "VOID".

ChargebackType

ChargebackType is a string with one of the following values:

Type Description
Retrieval request A Retrieval Request is a request for information concerning a specific payment transaction. The Issuer requests details on a disputed transaction from the merchant on behalf of the Cardholder.
Represented retrieval A representment has been processed on your behalf. One possible reason might be that a credit has already been processed on the Retrieval's sales transaction.
1st chargeback First Chargeback. A retrieval request cab also be converted into a first Chargeback. Money is gone from the merchant account.
Represented The Chargeback has been represented by a merchant. One possible reason might be that a credit has already been processed on the Retrieval's sales transaction.
Successfully represented Representment was accepted.
Unsuccessfully represented Representment was not accepted.
2nd chargeback Successful representment of the first Chargeback can turn into an Arbitration Chargeback (second Chargeback).
Represented cb2 The second chargeback has been represented by a merchant.
Successfully represented cb2 Representment of the second chargeback was accepted.
Unsuccessfully represented cb2 Representment of the second chargeback was not accepted.

Email

See: https://en.wikipedia.org/wiki/Email_address. Example: name@example.com

Phone

A phone is a sequence of characters. Recommended format: +xxxyyyzzzzzzzppp.
xxx = Country code, yyy = Area or city code, zzzzzzz = Local number, ppp = Often used to denominate an extension.
You can use a plus symbol +, spaces and brackets ().

Goods

Name Data Type Size Comment Requirement
code string 1…20 ID of goods Required
name string 1…128 Name of goods Required
description string 1…255 Description of goods Required
group string 1…64 Group ID Required
price decimal 0–100000 Price per unit Required
currency string 3 Currency code (ISO 4217 alpha-3) of the goods. Example: USD, EUR, … Required
quantity integer 1–99999999 Quantity of purchased goods Required
tax decimal 0–999 Sales tax Optional

Order

Name Data Type Size Comment Requirement
name string 4…40 Buyer name Required
birthday Date 10 Buyer birthday Optional
organization string 1…64 Buyer organization. Optional
country string 2 Buyer country code (ISO 3166-1 alpha-2) of the country. Example: DE Required
region string 4…16 Buyer region code (ISO 3166-2). Example: FR-NC Optional
city string 2…40 Buyer city Required
postal-code string 1…16 Buyer postal code Required
cedex string 1…16 Buyer CEDEX Optional
street-line1 string 1…64 Buyer street address line 1 Optional
street-line2 string 1…64 Buyer street address line 2 Optional
phone string 1…32 Buyer phone number. Optional
email string 3…64 Buyer email. Optional
date DateTime Order date Optional
goods Goods Merchandise data Optional

Shipping

Name Data Type Size Comment Requirement
name string 4…40 Recipient name Required
country string 2 Shipping country code (ISO 3166-1 alpha-2) of the country (such as DE) Required
region string 4…16 Shipping region code (ISO 3166-2). Example: FR-NC Optional
city string 2…40 Shipping city Required
postal-code string 1…16 Shipping postal code Required
cedex string 1…16 Shipping CEDEX Optional
street-line1 string 1…64 Shipping street address line 1 Optional
street-line2 string 1…64 Shipping street address line 2 Optional
phone string 1…32 Recipient phone number Optional
email string 3…64 Recipient email Optional

Customer

Name Data Type Size Comment Requirement
user-agent string 1…255 HTTP Header "User-Agent" Optional, but can be a mandatory requirement for 3D secure transactions with some acquirers.
accept string 1…1024 HTTP Header "Accept" Optional, but can be a mandatory requirement for 3D secure transactions with some acquirers.
ip string 7…39 IP Address of the buyer Optional, but can be a mandatory requirement for 3D secure transactions with some acquirers.

Amount

Name Data Type Size Comment Requirement
value decimal 0..100000 Amount of money. Example: 11.22 Required
currency string 3 Currency code (ISO 4217 alpha-3). Example: USD Required

ThreeDRequest

Name Data Type Size Comment Requirement
enrolled string 1 Indicator of the 3-D Secure enrollment check. Can be: Y — Card is enrolled; N — Card is not enrolled; U — Unable to determine if card is enrolled. Required
acs-url string …1024 The URL of the issuing bank, where the merchant must re-direct the enrollment check request via the cardholder’s browser. It is returned only in case the cardholder is enrolled in 3-D secure program. Required, if enrolled = Y
pa-req string …2048 A base64-encoded request message created for cards participating in the 3-D secure program. The PaReq is returned by the issuer’s ACS via the VISA or MasterCard directory to the payment gateway and from here passed on to the merchant. Required, if enrolled = Y
eci string 2 Indicates the status of the veRes. Optional

ThreeDResponse

Name Data Type Size Comment Requirement
pa-res string …2048 A base-64 encoded XML message containing the issuing bank's response to the payment authentication request Required

ThreeDInfo

Name Data Type Size Comment Requirement
enrolled string 1 Indicator of the 3-D Secure enrollment. Can be: Y — Card is enrolled; N — Card is not enrolled; U — Unable to determine if card is enrolled. Required
status string 1 Indicates the authentication final outcome. Can be: Y — Authentication process was successful; A — Authentication process was attempted; N — Authentication process failed; U — Unable to authenticate. Required
eci string 2 Indicates the status of the veRes. Optional
xid string 1…255 A unique transaction identifier Optional
cavv string 32 The CAVV is a a cryptographic value generated by the Issuer. For Visa transaction it is called CAVV (Cardholder Authentication Verification Value) for MasterCard it is either called Accountholder Authentication Value (AAV) or Universal Cardholder Authentication Field (UCAF) Optional Optional
transaction-id string Mandatory transaction ID for 3D Secure 2 Optional

TransactionError

Name Data Type Comment
message string Error message
code string Error code
type string Error type: WARNING, ERROR
advice string Optional advice

Result codes

Code Description
00 Approved and completed successfully
01 Refer to card issuer
02 Refer to card issuer, special condition
03 Invalid merchant
04 Pick up card (no fraud)
05 Do not honor
06 Error. Invalid Transaction for Terminal
07 Pick up card, special condition (fraud account)
10 Partial approval
11 Approved (V.I.P). Partial Approval
12 Invalid transaction
13 Invalid amount or currency conversion field overflow
14 Invalid card number
15 No such issuer
19 Re-enter transaction
21 No action taken
25 Unable to locate record in file
28 File temporarily not available for update or inquiry
30 Format error. Validation failed
39 No credit account
41 Lost card, pick up (fraud account)
43 Stolen card, pick up (fraud account)
50 Invalid currency
51 Not sufficient funds
52 No checking account
53 No savings account
54 Expired card, expiration date is missing or wrong
55 Incorrect PIN or PIN missing
57 Transaction not permitted to cardholder
59 Suspected fraud
61 Exceeds approval amount limit
62 Restricted card (card invalid in this region or country)
63 Security violation (source is not correct issuer)
64 Transaction does not fulfill AML requirement
65 Exceeds withdrawal frequency limit
75 Allowable number of PIN entry tries exceeded
76 Unsolicited reversal
79 Already reversed (by Switch)
80 No financial impact
81 Cryptographic error found in PIN
82 Negative CAM, dCVV, iCVV, or CVV results
85 No reason to decline a request for address verification, CVV2 verification, or a credit voucher or merchandise return
86 Cannot verify PIN; for example, no PVV
89 Ineligible to receive financial position information (GIV)
91 Issuer or switch inoperative and STIP not applicable or not available for this transaction; Time-out when no stand-in; POS Check Service: Destination unavailable; Credit Voucher and Merchandise Return Authorizations: V.I.P. sent the transaction to the issuer, but the issuer was unavailable.
92 Financial institution or intermediate network facility cannot be found for routing (receiving institution ID is invalid)
93 Transaction cannot be completed - violation of law
99 Fraud, max monthly credit amount
B2 Surcharge amount not supported by debit network issuer.
N0 Force STIP
N3 Cash service not available
N4 Cash request exceeds issuer or approved limit
N5 Ineligible for resubmission
N7 Decline for CVV2 failure
N8 Transaction amount exceeds preauthorized approval amount
Q1 Card Authentication failed
R0 Stop Payment Order
R1 Revocation of Authorization Order
100 Internal error. Status unknown
101 Transaction in Progress
102 Error communicating to the acquirers
103 Merchant not fount
104 transaction not found
105 Transaction declined
106 Initial transaction for recurring not found
107 Operation not supported
108 Merchant transaction id already exist. I must be unique
109 No acquirer defined
110 Card not enrolled to 3D Secure
111 Card is enrolled to 3D secure. Send authorization() to finish the transaction
112 3D secure required
113 No permission for that card type
114 Blocked/blacklisted card
115 Blocked by acquirer risk filters
116 Unknown error. Transaction rejected
117 Unable to do 3D authentication
118 3D secure authentication failed
119 Refund cannot be issued as requested
120 Acquirer upstream communication error
121 Card email limit
122 Expired on capture
123 Expired on confirmation
124 Identification required
125 Card is not allowed
126 Cancelled by timeout
127 Cancelled by customer
128 Blocked country
129 Customer email blacklisted
2xx Transaction success. It was considered to be risky, so the type of transaction was changed from authorization to preauthorization and the acquirer received PREAUTHORIZATION. To complete purchase you need to make capture transaction. `xx is a risk filter ID.
3xx Transaction failed. It was considered to be too risky xx is a risk filter ID.

Frequent result codes

Here are our most frequent result codes. These might be useful for other gateways who would like to integrate with us:

Code Description Code Description
00 Approved and completed successfully 04 Pick up card
05 Do not honor 30 Format error. Validation failed
41 Lost card, pick up (fraud account) 43 Stolen card, pick up (fraud account)
51 Not sufficient funds 54 Expired card
57 Transaction not permitted 62 Restricted card
R1 Revocation of Authorization Order 102 Error communicating to the acquirers
105 Transaction declined 114 Blacklisted card
115 Blocked by acquirer risk filters 116 Unknown error. Transaction declined

Recurring transactions

Recurring (repeated) transaction describes a payment process where the cardholder’s account is periodically charged for a repeated delivery or use of a product or service. A recurring transaction consists of an initial request and one or several repeated transaction requests. The initial recurring request contains all relevant cardholder data, while the subsequent repeated requests (which can be authorization only) simply references an identifier.

Initial transaction

Parameter recurring-type=INITIAL should be set to authorization().

Repeated transaction

recurring-type=REPEATED and parent-transaction-id are required (gateway transaction id, not merchant transaction id), credit-card and order are optional for repeated authorization().

Reconciliation

The purpose of reconciliation is to compare transactions and verify that payments have been processed correctly. This can be very useful when you receive timeout from the PGW gateway, result codes 100,101 and 102. Besides that reconciliation API helps you to get disputes (chargebacks).

Authentication is the same as for the processing operation. You can read about that here.

Get Transactions

Returns transaction statuses for the given period of time.

Request:

Name Type Size Comment Requirement
start-date Date 10 Start transaction date Mandatory
end-date Date 10 End transaction date Mandatory

get-transactions request:

GET transactions?start-date=2017-12-04&end-date=2017-12-04
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Body>
        <getTransactions xmlns="urn:pgw:reporting">
            <start-date>2017-12-04</start-date>
            <end-date>2017-12-04</end-date>
        </getTransactions>
    </Body>
</Envelope>

Response:

Array of transactions of the following type:

Name Type Comment
merchant-id xs:string Merchant ID
merchant-transaction-id xs:string ID of the transaction in the merchant's system
date DateTime Transaction processing dateTime
status-code xs:string Status-code: SUCCESS, WARNING, FAILURE, IN_PROGRESS
error/code xs:string Error code
error/message xs:string Error message
transaction-id xs:unsignedLong PGW transaction ID
transaction-type TransactionTypes Type of the transaction

get-transactions response:

{
    "transactions": [
        {
            "merchant-id": "9003",
            "merchant-transaction-id": "TEST1491398548846",
            "transaction-id": 2264899038395,
            "transaction-type": "AUTHORIZATION",
            "date": "2017-10-10T12:10:00Z",
            "status-code": "SUCCESS"
        },
        {
            "merchant-id": "9003",
            "merchant-transaction-id": "TEST1491398548846",
            "transaction-id": 2264899038396,
            "transaction-type": "AUTHORIZATION",
            "date": "2017-10-10T12:10:00Z",
            "status-code": "FAULURE",
            "error": {
                "code": "05",
                "message": "Do not honor"
            }
        }
    ]
}
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Body>
        <getTransactionsResponse xmlns="urn:pgw:reporting">
            <result>
                <transaction>
                    <merchant-id>9003</merchant-id>
                    <merchant-transaction-id>TEST1491398548846</merchant-transaction-id>
                    <transaction-id>2264902173183</transaction-id>
                    <transaction-type>AUTHORIZATION</transaction-type>
                    <date>2017-10-10T12:10:00Z</date>
                    <status-code>SUCCESS</status-code>
                </transaction>
                <transaction>
                    <merchant-id>9003</merchant-id>
                    <merchant-transaction-id>TEST1491398548847</merchant-transaction-id>
                    <transaction-id>2264902173184</transaction-id>
                    <transaction-type>AUTHORIZATION</transaction-type>
                    <date>2017-10-10T12:10:00Z</date>
                    <status-code>FAILURE</status-code>
                    <error>
                        <code>05</code>
                        <message>Do not honor</message>
                    </error>
                </transaction>
            </result>
        </getTransactionsResponse>
    </Body>
</Envelope>

Get Chargebacks

Request:

Name Data Type Size Comment Requirement
start-date Date 10 From that Arrival to acquirer date. Mandatory
end-date Date 10 Till that Arrival to acquirer date. Mandatory

get-chargebacks request:

GET chargebacks?start-date=2017-12-04&end-date=2017-12-04
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Body>
        <getChargebacks xmlns="urn:pgw:reporting">
            <start-date>2017-12-04</start-date>
            <end-date>2017-12-04</end-date>
        </getChargebacks>
    </Body>
</Envelope>

Response:

Array of chargebacks of the following type:

Name Data Type Comment
merchant-id xs:string Merchant ID
merchant-transaction-id xs:string ID of the transaction in the merchant's system
chargeback-amount xs:decimal Chargeback amount
chargeback-amount/@currency xs:string Chargeback currency code (ISO 4217 alpha-3). Example: USD, EUR
chargeback-date DateTime Date when the chargeback was registered in PGW
chargeback-id xs:string PGW Chargeback ID
chargeback-status xs:string Chargeback status
chargeback-type ChargebackType Chargeback type
case-id xs:string Chargeback case ID
arn xs:string Chargeback ARN
arrival-to-acquirer Date Date when the chargeback arrived to acquirer
exp-date Date Representment of the chargeback should be fulfilled until that date
reason-code xs:string Chargeback reason code
reason-message xs:string Chargeback reason code message
transaction-amount xs:decimal Transaction amount
transaction-amount/@currency xs:string Transaction currency code (ISO 4217 alpha-3). Example: USD, EUR
transaction-date DateTime Transaction processing date
transaction-id xs:unsignedLong PGW transaction ID
card-network xs:string Card network name: VISA, MC, AMEX, ...
card-number xs:string Credit card number (first 6 and 4 last digits)
acquirer xs:string Acquirer name

get-chargebacks response:

{
    "chargebacks": [
        {},
        {}
    ]
}
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Body>
        <getChargebacksResponse xmlns="urn:pgw:reporting">
            <result>
                <chargeback/>
                <chargeback/>
            </result>
        </getChargebacksResponse>
    </Body>
</Envelope>

Chargeback reason codes

Network Code Description
VISA 30 Services Not Provided or Merchandise Not Received
VISA 41 Cancelled Recurring Transaction
VISA 53 Not as Described or Defective Merchandise
VISA 57 Fraudulent Multiple Transactions
VISA 60 Requested copy illegible or Invalid
VISA 62 Counterfeit Transaction Reason Code
VISA 71 Declined Authorization Reason Code
VISA 72 No Authorization Reason Code
VISA 73 Expired Card
VISA 74 Late Presentment
VISA 75 Transaction Not Recognized
VISA 76 Incorrect Currency or Transaction Code or Domestic Transaction Processing Violation
VISA 77 Non-Matching Account Number
VISA 78 Service Code Violation
VISA 79 Requested transaction information not
VISA 80 Incorrect Transaction Amount or Account Number Reason Code
VISA 81 Fraud—Card-Present Environment
VISA 82 Duplicate Processing
VISA 83 Fraud—Card-Absent Environment
VISA 85 Credit Not Processed
VISA 86 Paid by Other Means
VISA 90 Non-Receipt of Cash or Load Transaction Value at ATM or Load Device
VISA 93 Merchant Fraud Performance Program
VISA 96 Transaction exceeds limited amount
MC 03 Correction of a Chargeback
MC 06 Correction of a Representment
MC 10 Correction of a Terminal Malfunction
MC 17 Cash Dispute-ATM Only
MC 20 Returned Item (U.S. Shared Deposits Only)
MC 24 Empty Deposit Envelope (U.S. Shared Deposits Only)
MC 25 Error in Addition (U.S. Shared Deposits Only)
MC 26 Error in Settlement (U.S. Shared Deposits Only)
MC 27 Customer Keyed Wrong Amount (U.S. Shared Deposits Only)
MC 28 Non-Cash Item Deposited (U.S. Shared Deposits Only)
MC 29 Foreign/Counterfeit Currency Deposited (U.S. Shared Deposits Only)
MC 30 Cardholder Disputed Amount (U.S. Shared Deposits Only)
MC 53 Defective/Not as Described—Intra-U.S. Region and U.S. Territories Only
MC 70 Chip Liability Shift
MC 71 Transaction Amount Differs
MC 73 Duplicate Transaction
MC 74 No Cardholder Authorization
MC 75 Credit Not Received
MC 79 Goods or Services Not Provided
MC 80 Late Presentment
MC 85 Adjustment Reversal
MC 95 Invalid Adjustment: Account Closed
MC 96 Invalid Adjustment: Insufficient Funds
MC 2001 Invalid Acquirer Reference Data; documentation was neither required nor received
MC 2002 Nonreceipt of required documentation to support chargeback
MC 2003 Correct transaction date provided
MC 2004 Invalid Acquirer Reference Data on chargeback; documentation was received.
MC 2005 Correct merchant location/description provided Issuer authorized transaction
MC 2008 Issuer authorized transaction
MC 2011 Credit Previously Issued
MC 2700 Chargeback Remedied
MC 2701 Duplicate Chargeback
MC 2702 Past Chargeback Time Limit
MC 2703 Requested transaction document provided (requires hardship variance)
MC 2704 Invalid Data Record Text
MC 2705 Correct MCC provided
MC 2706 Authorization advised suspicious
MC 2707 No authorization request required or attempted
MC 2708 Account was not listed on the applicable Electronic Warning Bulletin as of the transaction date
MC 2709 Documentation received was illegible.
MC 2710 Scanning error—unrelated documents or partial scan
MC 2713 Invalid Chargeback
MC 2870 Chip Liability Shift
MC 2871 Chip/PIN Liability Shift
MC 4801 Requested Transaction Information not Received
MC 4802 Requested / Required information illegible or missing
MC 4804 Multiple Processing
MC 4807 Warning Bulletin File
MC 4808 Transaction Not Authorized
MC 4809 Transaction not reconciled
MC 4811 Stale Transaction
MC 4812 Account Number Not on File
MC 4831 Transaction Amount Differs
MC 4835 Card not valid or expired
MC 4834 Duplicate Processing of Transaction
MC 4837 No Cardholder Authorization
MC 4840 Fraudulent Processing of Transactions
MC 4841 Canceled Recurring or Digital Goods Transactions
MC 4842 Late Presentment
MC 4846 Correct Transaction Currency Code Not Provided
MC 4847 Requested/Required Authorization Not Obtained and Fraudulent Transaction
MC 4849 Questionable Merchant Activity
MC 4850 Installment Billing Dispute (Participating Countries Only)
MC 4853 Cardholder Dispute
MC 4854 Cardholder Dispute—Not Elsewhere Yes Classified (U.S. Region Only)
MC 4855 Goods or Services Not Provided Yes
MC 4857 Card activated telephone transactions
MC 4859 Addendum, No-show, or ATM Dispute1
MC 4860 Credit Not Processed Sometimes
MC 4862 Counterfeit Transaction – Magnetic stripe
MC 4863 Cardholder Does Not Recognize—Potential Sometimes Fraud
MC 4870 Chip Liability Shift
MC 4871 Chip/PIN Liability Shift
MC 4880 Late Presentment (Maestro only)
MC 4901 Required documentation not received to support previous Second Presentment/1240.
MC 4902 Documentation received was illegible.
MC 4903 Scanning error—Unrelated documents or partial scan.
MC 4904 Reserved
MC 4905 Invalid Acquirer Reference Data on Second Presentment/1240 (required documentation). Must be used when Message 2001 is received from the acquirer
MC 4908 Invalid Acquirer Reference Data on Second Presentment/1240 (required documentation). Must be used when Message 2004 is received from the acquirer
MC 4999 Domestic Chargeback Dispute (Europe Yes region Only)