Create a payout

Definition: POST /v1/payouts

In order to initiate a payout, you must create a payment object with all the necessary card details.

Request:

POST https://securetest.smart2pay.com/v1/payouts
Authorization: Basic MTAxMDpnYWJp

{
 "Payout": {
  "MerchantTransactionID": "test_g20",
  "Amount": 1000,
  "Currency": "EUR",
  "Description": "payment product",
  "Card": {
   "HolderName": "John Doe",
   "Number": "4111111111111111",
   "ExpirationMonth": "02",
   "ExpirationYear": "2019"
   }
 }
}

Response:

HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8

{
  "Payout": {
    "ID": 77,
    "SiteID": 1010,
    "Created": "20161003095114",
    "MerchantTransactionID": "test_g20",
    "Amount": 1000,
    "Currency": "EUR",
    "Description": "payment product",
    "StatementDescriptor": null,
    "Status": {
      "ID": 2,
      "Info": "Success",
      "Reasons": []
    }
  }
}

In case of an API error, an HTTP 4xx (you did something wrong) or HTTP 5xx (we did something wrong) response is returned.

For more information about the reasons of a wrong request response see our section GlobalPay Return Codes.

Request:

POST https://securetest.smart2pay.com/v1/payouts
Authorization: Basic MTAxMDpnYWJp

{
 "Payout": {
  "MerchantTransactionID": "test_g21",
  "Amount": 1000,
  "Currency": "EUR",
  "Description": "payment product"
 }
}

Response:

HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8

{
  "Payout": {
    "InvalidRequestID": "i1703",
    "ID": null,
    "SiteID": 1010,
    "Created": null,
    "MerchantTransactionID": "test_g21",
    "Amount": 1000,
    "Currency": "EUR",
    "Description": "payment product",
    "StatementDescriptor": null,
    "Status": {
      "ID": null,
      "Info": null,
      "Reasons": [
        {
          "Code": "1206",
          "Info": "CardDetails are missing"
        }
      ]
    }
  }
}

Get the status of a payout

You can get the status of a payout by using the following GET HTTP request.

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

Definition: GET /v1/payouts/{id}/status

Where:
  • {id} – GlobalPay Payout ID

Request:

GET https://securetest.smart2pay.com/v1/payouts/77/status
Authorization: Basic MTAxMDpnYWJp

Response:

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

{
  "Payout": {
    "ID": 77,
    "MerchantTransactionID": "test_g20",
    "Status": {
      "ID": 2,
      "Info": "Success",
      "Reasons": []
    }
  }
}

Get information on a specific payout

You can get information about a payout by using GET HTTP request.

Definition: GET /v1/payouts/{id}

Where:
  • {id} – GlobalPay Payout ID

Request:

GET https://securetest.smart2pay.com/v1/payouts/77
Authorization: Basic MTAxMDpnYWJp

Response:

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

{
  "Payout": {
    "ID": 77,
    "SiteID": 1010,
    "Created": "20161003095114",
    "MerchantTransactionID": "test_g20",
    "Amount": 1000,
    "Currency": "EUR",
    "Description": "payment product",
    "StatementDescriptor": null,
    "Status": {
      "ID": 2,
      "Info": "Success",
      "Reasons": []
    }
  }
}

Get a list of payouts

Without specifying any parameters a list of payouts is returned. Please be aware that only a limited amount of details for each payout will be provided.

Definition: GET /v1/payouts

Request:

GET https://securetest.smart2pay.com/v1/payouts
Authorization: Basic MTAxMDpnYWJp

Response:

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

{
  "Payouts": [
    {
      "ID": 77,
      "SiteID": 1010,
      "Created": "20161003095114",
      "MerchantTransactionID": "test_g20",
      "Amount": 1000,
      "Currency": "EUR",
      "Description": "payment product",
      "StatementDescriptor": null,
      "Status": {
        "ID": 2,
        "Info": "Success",
        "Reasons": []
      }
    },
    {
      "ID": 75,
      "SiteID": 1010,
      "Created": "20161003092652",
      "MerchantTransactionID": "test_g18",
      "Amount": 1000,
      "Currency": "EUR",
      "Description": "payment product",
      "StatementDescriptor": null,
      "Status": {
        "ID": 2,
        "Info": "Success",
        "Reasons": []
      }
    },
    {
      "ID": 74,
      "SiteID": 1010,
      "Created": "20161003092615",
      "MerchantTransactionID": "test_g17",
      "Amount": 1000,
      "Currency": "EUR",
      "Description": "payment product",
      "StatementDescriptor": null,
      "Status": {
        "ID": 2,
        "Info": "Success",
        "Reasons": []
      }
    },
    {
      "ID": 66,
      "SiteID": 1010,
      "Created": "20160602115128",
      "MerchantTransactionID": "test_e37",
      "Amount": 2000,
      "Currency": "EUR",
      "Description": "payment product",
      "StatementDescriptor": null,
      "Status": {
        "ID": 2,
        "Info": "Success",
        "Reasons": []
      }
    }
  ]
}

Get a list of payouts (filtered)

You can specify various filters as parameters in the query string in order to get a customized list of payouts.

Requests:

GET https://securetest.smart2pay.com/v1/payouts?limit=3
Authorization: Basic MTAxMDpnYWJp
GET https://securetest.smart2pay.com/v1/payouts?maximumAmount=1000
Authorization: Basic MTAxMDpnYWJp

The following table describes the possible filters you can use. You can mix the filters so you can obtain the desired results.

FILTERS
Field Description Data type
limit The maximum number of items that will be returned Long
offset A list of payments starting with the value of the offset parameter will be returned. The offset parameter can also be used together with the limit parameter to select specific entries within a list of payments. String
startDate The date and time after which the payments are returned DateTime

(YYYYMMDDHHMMSS)

endDate The date and time until which the payments are returned DateTime

(YYYYMMDDHHMMSS)

country Only the transactions having this country code will be returned String

(ISO 3166-1-alpha-2)

currency Only the transactions having this currency code will be returned String

(ISO 4217)

minimumAmount Only the payments with an amount higher than this will be returned Integer (last 2 digits representing the decimal part)
maximumAmount Only the payments with an amount lower than this will be returned Integer (last 2 digits representing the decimal part)
merchantTransactionID Only the payment having this merchantTransactionID will be returned String

^[0-9a-zA-Z_-]{1,50}$

statusID Only the transactions having this statusID will be returned. Integer

The ID of the payment status can have the following values: 1 – Open, 2 – Success, 3 – Cancelled, 4 – Failed, 5 – Expired, 9 – Authorized.

methodTransactionID Only the payments having this methodTransactionID will be returned. This transaction ID from the payment method provider can be used for customer support. String

^[0-9a-zA-Z_-]{1,50}$

Here is an example of a request with the minimumAmount filter set to 2000. This means that it will return only the transactions with an amount higher than this.

Request:

GET https://securetest.smart2pay.com/v1/payouts?limit=3
Authorization: Basic MTAxMDpnYWJp

Response:

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

{
  "Payouts": [
    {
      "ID": 79,
      "SiteID": 1010,
      "Created": "20161003095713",
      "MerchantTransactionID": "test_g23",
      "Amount": 1000,
      "Currency": "EUR",
      "Description": "payment product",
      "StatementDescriptor": null,
      "Status": {
        "ID": 2,
        "Info": "Success",
        "Reasons": []
      }
    },
    {
      "ID": 78,
      "SiteID": 1010,
      "Created": "20161003095708",
      "MerchantTransactionID": "test_g22",
      "Amount": 1000,
      "Currency": "EUR",
      "Description": "payment product",
      "StatementDescriptor": null,
      "Status": {
        "ID": 2,
        "Info": "Success",
        "Reasons": []
      }
    },
    {
      "ID": 77,
      "SiteID": 1010,
      "Created": "20161003095114",
      "MerchantTransactionID": "test_g20",
      "Amount": 1000,
      "Currency": "EUR",
      "Description": "payment product",
      "StatementDescriptor": null,
      "Status": {
        "ID": 2,
        "Info": "Success",
        "Reasons": []
      }
    }
  ]
}

You can also mix various filters to get specific results. Here is an example of a request with the limit filter set to 2 and the currency EUR. This means that it will return the last two payout entries that have the transaction currency EUR.

Request:

GET https://securetest.smart2pay.com/v1/payouts?limit=2&currency=EUR
Authorization: Basic MTAxMDpnYWJp

Response:

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

{
  "Payouts": [
    {
      "ID": 79,
      "SiteID": 1010,
      "Created": "20161003095713",
      "MerchantTransactionID": "test_g23",
      "Amount": 1000,
      "Currency": "EUR",
      "Description": "payment product",
      "StatementDescriptor": null,
      "Status": {
        "ID": 2,
        "Info": "Success",
        "Reasons": []
      }
    },
    {
      "ID": 78,
      "SiteID": 1010,
      "Created": "20161003095708",
      "MerchantTransactionID": "test_g22",
      "Amount": 1000,
      "Currency": "EUR",
      "Description": "payment product",
      "StatementDescriptor": null,
      "Status": {
        "ID": 2,
        "Info": "Success",
        "Reasons": []
      }
    }
  ]
}