Get refund types for a certain payment

You can get more information on what parameters you need to send for a certain payment by using a few actions based on GET HTTP request.

Definition: GET /v1/payments/{id}/refunds/types

Where:
  • {id} – GlobalPay Payment ID

The parameters you need to send for a certain refund are the ones returned followed by regex characters. If there aren’t any, it means no additional parameteres are required.

For Native Refund type:

Request:

GET https://paytest.smart2pay.com/v1/payments/2427069/refunds/types
Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "RefundTypes": [
    {
      "Name": "Native",
      "ID": 1,
      "AllowsPartialRefund": true,
      "Customer": null,
      "BillingAddress": null,
      "BankAddress": null,
      "Details": null
    }
  ]
}

Below there are the refund types that require additional parameters.

For Sepa Bank Transfer Refund type:

Request:

GET https://paytest.smart2pay.com/v1/payments/2427083/refunds/types
Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "RefundTypes": [
    {
      "Name": "SEPABankTransfer",
      "ID": 2,
      "AllowsPartialRefund": true,
      "Customer": {
        "MerchantCustomerID": null,
        "Email": null,
        "FirstName": "^.{1,50}$",
        "LastName": "^.{1,50}$",
        "Gender": null,
        "SocialSecurityNumber": null,
        "Phone": null,
        "Company": null
      },
      "BillingAddress": null,
      "BankAddress": null,
      "Details": {
        "BankCode": "^[a-zA-Z]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[XXX0-9]{0,3}",
        "CustomerIBAN": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}$"
      }
    }
  ]
}

For SWIFT Bank Transfer Refund type:

Request:

GET https://paytest.smart2pay.com/v1/payments/2427087/refunds/types
Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "RefundTypes": [
    {
      "Name": "SWIFTBankTransfer",
      "ID": 3,
      "AllowsPartialRefund": true,
      "Customer": {
        "MerchantCustomerID": null,
        "Email": null,
        "FirstName": "^.{1,50}$",
        "LastName": "^.{1,50}$",
        "Gender": null,
        "SocialSecurityNumber": null,
        "Phone": null,
        "Company": null
      },
      "BillingAddress": null,
      "BankAddress": null,
      "Details": {
        "CustomerAccountNumber": "^\\w{1,35}$",
        "BankCode": "^[a-zA-Z]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[XXX0-9]{0,3}"
      }
    }
  ]
}

For Manual Support Work Details Needed Refund type:

Request:

GET https://paytest.smart2pay.com/v1/payments/2547887/refunds/types
Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "RefundTypes": [
    {
      "Name": "ManualSupportWorkDetailsNeeded",
      "ID": 9,
      "AllowsPartialRefund": true,
      "Customer": null,
      "BillingAddress": null,
      "BankAddress": null,
      "Details": {
        "BankName": "^.{1,50}$"
      }
    }
  ]
}

For Local Bank Transfer 2 API Refund type:

Request:

GET https://paytest.smart2pay.com/v1/payments/171510128/refunds/types
Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "RefundTypes": [
    {
    "Name": "LocalBankTransfer2API",
    "ID": 10,
    "AllowsPartialRefund": true,
    "Customer": {
      "MerchantCustomerID": null,
      "Email": null,
      "FirstName": "^.{1,50}$",
      "LastName": "^.{1,50}$",
      "Gender": null,
      "SocialSecurityNumber": null,
      "SocialSecurityNumber2": null,
      "Phone": null,
      "Company": null,
      "DateOfBirth": null
      },
    "BillingAddress": null,
    "BankAddress": null,
    "Details": {
      "CustomerAccountNumber": "^\\w{1,35}$",
      "BankName": "^.{1,50}$",
      "BankBranch": "^.{1,50}$",
      "BankAccountType": "^(I|S|C)$"
      }
    }
  ]
}

Get refund types (filtered)

You can specify various filters as parameters such as method ID, country code and currency in the query string in order to get the refund types available.

Definition: GET /v1/refunds/types/{idMethod}/{countryCode}/{currency}

Where:
  • {idMethod} – GlobalPay Payment Method ID

The parameters you need to send for a certain refund are be the ones returned followed by regex characters. If there aren’t any, it means no additional parameteres are required.

Request:

GET https://paytest.smart2pay.com/v1/refunds/types/3/BE/EUR
Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "RefundTypes": [
    {
      "Name": "SEPABankTransfer",
      "ID": 2,
      "AllowsPartialRefund": true,
      "Customer": {
        "MerchantCustomerID": null,
        "Email": null,
        "FirstName": "^.{1,50}$",
        "LastName": "^.{1,50}$",
        "Gender": null,
        "SocialSecurityNumber": null,
        "Phone": null,
        "Company": null
      },
      "BillingAddress": null,
      "BankAddress": null,
      "Details": {
        "BankCode": "^[a-zA-Z]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}[XXX0-9]{0,3}",
        "CustomerIBAN": "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}$"
      }
    }
  ]
}

Get information on a specific refund

You can get information about a refund by using the following action based on Get HTTP request.

Definition: GET /v1/payments/{id}/refunds/{id}

Where:
  • payments/{id} – GlobalPay Payment ID
  • and
  • refunds/{id} – GlobalPay Refund ID

Request:

GET https://paytest.smart2pay.com/v1/payments/3005389/refunds/16405
Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "Refund": {
    "ID": 16405,
    "Created": "20170803095139",
    "MerchantTransactionID": "s2ptest_g28",
    "OriginatorTransactionID": null,
    "InitialPaymentID": 3005389,
    "Amount": "100",
    "Currency": "EUR",
    "Description": null,
    "TypeID": 5,
    "SiteID": 30201,
    "Details": null,
    "Customer": null,
    "BillingAddress": null,
    "BankAddress": null,
    "Articles": null,
    "Status": {
      "ID": 1,
      "Info": "Open",
      "Reasons": null
    }
  }
}

The same action can be used to get information on a specific refund for a card payment.

Request:

https://securetest.smart2pay.com /v1/payments/283334/refunds/4491
Authorization: Basic MTAxMDpnYWJp

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "Refund":  {
    "ID": 4491,
    "SiteID": 1010,
    "Created": "20180330120728",
    "MerchantTransactionID": "s2p_test_l1a",
    "OriginatorTransactionID": null,
    "InitialPaymentID": 58552,
    "Amount": "1650",
    "Currency": "EUR",
    "Description": "payment product test",
    "StatementDescriptor": "card payment",
    "Customer": null,
    "BillingAddress": null,
    "BankAddress": null,
    "Articles": null,
    "Status": {
      "ID": 2,
      "Info": "Success",
      "Reasons": []
      },
    "MethodTransactionID": "74177818074008189507669"
  }
}

Get a list of refunds of a specific payment

You can get a list of refunds for a specific payment by using an action based on GET HTTP request. Please be aware that only a limited amount of details for each refund will be provided.

Definition: GET /v1/payments/{id}/refunds/

Where:
  • {id} – GlobalPay Payment ID

Request:

GET https://paytest.smart2pay.com/v1/payments/3006286/refunds
Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "Refunds": [
    {
      "ID": 16410,
      "Created": "20170803131840",
      "MerchantTransactionID": "s2ptest_g104",
      "OriginatorTransactionID": null,
      "InitialPaymentID": 3006286,
      "Amount": "20",
      "Currency": "EUR",
      "Description": null,
      "TypeID": 5,
      "SiteID": 30201,
      "Details": null,
      "Customer": null,
      "BillingAddress": null,
      "BankAddress": null,
      "Articles": null,
      "Status": {
        "ID": 4,
        "Info": "Failed",
        "Reasons": null
      }
    },
    {
      "ID": 16408,
      "Created": "20170803131825",
      "MerchantTransactionID": "s2ptest_g103",
      "OriginatorTransactionID": null,
      "InitialPaymentID": 3006286,
      "Amount": "20",
      "Currency": "EUR",
      "Description": null,
      "TypeID": 5,
      "SiteID": 30201,
      "Details": null,
      "Customer": null,
      "BillingAddress": null,
      "BankAddress": null,
      "Articles": null,
      "Status": {
        "ID": 1,
        "Info": "Open",
        "Reasons": null
      }
    }
  ]
}

The same action can be used to get information on a specific refund for a card payment.

Request:

GET https://securetest.smart2pay.com/v1/payments/202247/refunds
Authorization: Basic MTAxMDpnYWJp

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "Refunds": [
    {
      "ID": 266,
      "SiteID": 1010,
      "Created": "20161205095522",
      "MerchantTransactionID": "s2ptest_h22",
      "OriginatorTransactionID": null,
      "InitialPaymentID": 202247,
      "Amount": "1000",
      "Currency": "EUR",
      "Description": "refund reason",
      "StatementDescriptor": null,
      "Customer": null,
      "BillingAddress": null,
      "BankAddress": null,
      "Articles": null,
      "Status": {
        "ID": 4,
        "Info": "Failed",
        "Reasons": [
          {
            "Code": "2206",
            "Info": "Refund.Amount exceeds initial payment available amount"
          }
        ]
      }
    },
    {
      "ID": 265,
      "SiteID": 1010,
      "Created": "20161205095515",
      "MerchantTransactionID": "s2ptest_h21",
      "OriginatorTransactionID": null,
      "InitialPaymentID": 202247,
      "Amount": "1000",
      "Currency": "EUR",
      "Description": "refund reason",
      "StatementDescriptor": null,
      "Customer": null,
      "BillingAddress": null,
      "BankAddress": null,
      "Articles": null,
      "Status": {
        "ID": 2,
        "Info": "Success",
        "Reasons": []
      }
    },
    {
      "ID": 264,
      "SiteID": 1010,
      "Created": "20161205095505",
      "MerchantTransactionID": "s2ptest_h20",
      "OriginatorTransactionID": null,
      "InitialPaymentID": 202247,
      "Amount": "1000",
      "Currency": "EUR",
      "Description": "refund reason",
      "StatementDescriptor": null,
      "Customer": null,
      "BillingAddress": null,
      "BankAddress": null,
      "Articles": null,
      "Status": {
        "ID": 2,
        "Info": "Success",
        "Reasons": []
      }
    }
  ]
}

Get the status of a refund for a card payment

You can get the status of a refund for a card payment by using the following GET HTTP request.

Please note that this method sends only the status information about the refund. To receive more information about the refund please go to our section Get information on a specific refund.

Definition: GET /v1//payments/{id}/refunds/{id}/status

Where:
  • payments/{id} – GlobalPay Payment ID
  • and
  • refunds/{id} – GlobalPay Refund ID

Request:

GET https://securetest.smart2pay.com/v1/payments/202246/refunds/263/status
Authorization: Basic MTAxMDpnYWJp

Response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "Refund": {
    "ID": 263,
    "InitialPaymentID": 202246,
    "MerchantTransactionID": "s2ptest_h19",
    "StateDetails": {
      "ID": 2,
      "Info": "Success",
      "Reasons": []
    }
  }
}