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

For Native Refund type:

Request:

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

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
    }
  ]
}

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 parameters are required.

In order to be processed correctly, the following types of refunds require additional parameters:

  • For Sepa Bank Transfer Refund type:

    Request:

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

    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 MzAyMDE6KzlLZUd6S0Y3VzhTLzc5YTVSMzNZSlVnN0U3V0ZOY1piakdmekxWM2JYU25GQ095RnQ=

    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/4295859/refunds/types
    Authorization: Basic MzAyMDE6KzlLZUd6S0Y3VzhTLzc5YTVSMzNZSlVnN0U3V0ZOY1piakdmekxWM2JYU25GQ095RnQ=

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {
      "RefundTypes": [
      {
        "Name": "ManualSupportWorkDetailsNeeded",
        "ID": 9,
        "AllowPartialRefund": 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": {
        "City": null,
        "ZipCode": null,
        "State": null,
        "Street": "^[0-9a-zA-Z]{1,512}$",
        "StreetNumber": "^[0-9a-zA-Z]{1,512}$",
        "HouseNumber": null,
        "HouseExtension": null,
        "Country": 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 MzAyMDE6KzlLZUd6S0Y3VzhTLzc5YTVSMzNZSlVnN0U3V0ZOY1piakdmekxWM2JYU25GQ095RnQ=

    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 MzAyMDE6KzlLZUd6S0Y3VzhTLzc5YTVSMzNZSlVnN0U3V0ZOY1piakdmekxWM2JYU25GQ095RnQ=

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
    },
    "SplitID": 0
  }
}

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",
    "SplitID": 0
  }
}

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 MzAyMDE6KzlLZUd6S0Y3VzhTLzc5YTVSMzNZSlVnN0U3V0ZOY1piakdmekxWM2JYU25GQ095RnQ=

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
      },
    "SplitID": 0
    },
    {
      "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
      },
      "SplitID": 0
    }
  ]
}

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"
          }
        ]
      },
      "SplitID": 0
    },
    {
      "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": []
      },
     "SplitID": 0
    },
    {
      "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": []
      },
      "SplitID": 0
    }
  ]
}

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": []
    },
    "SplitID": 0
  }
}