Create a Payout

Definition: POST /v1/payouts

The payment methods that support payouts are: SEPA Payouts (MethodID = 1), Trustly (MethodID = 29) and P24 (MethodID = 12). PLease keep in mind that is always mandatory to send the MethodID parameter in the payout request, otherwise the payout request will fail.

To initiate a payout, you must create a payout object. The parameters of the payout are sent in the message body as a JSON object.

A 201 HTTP response (Created) is returned if the payout was correctly initialized.

    • For SEPA Payouts (1) you need to send in the request the below parameters, including the Customer’s first and last name and Customer IBAN parameter.

      Request:

      POST https://paytest.smart2pay.com/v1/payouts
      Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=
      
      {
        "Payout": {
          "MerchantTransactionID": "s2ptest_j1",
          "Amount": 2000,
          "Currency": "EUR",
          "MethodID": 1,
          "Customer": {
            "Email": "test@test.com",
            "FirstName": "John",
            "LastName": "Smith"
           },
          "BillingAddress": {
          "Country": "NL"
          },
          "Details": {
            "CustomerIBAN": "NL611904300234573201"
          }
        }
      }

      Response:

      HTTP/1.1 201 Created
      Content-Type: application/json; charset=utf-8
      
      {
        "Payout": {
          "ID": 376,
          "Created": "20200821131247",
          "MerchantTransactionID": "s2ptest_j1",
          "Amount": 2000,
          "Currency": "EUR",
          "MethodID": 1,
          "Description": null,
          "SiteID": 30201,
          "Customer": {
            "ID": 335,
            "MerchantCustomerID": null,
            "Email": "test@test.com",
            "FirstName": "John",
            "LastName": "Smith",
            "Gender": null,
            "SocialSecurityNumber": null,
            "Phone": null,
            "Company": null,
            "DateOfBirth": null
           },
          "BillingAddress": {
            "ID": 170,
            "City": null,
            "ZipCode": null,
            "State": null,
            "Street": null,
            "StreetNumber": null,
            "HouseNumber": null,
            "HouseExtension": null,
            "Country": "NL"
            },
           "Status": {
             "ID": 1,
             "Info": "Open",
             "Reasons": null
          }
        }
      }
    • For P24 Payouts (12) you need to send in the request the following parameters: Customer’s details first name, last name, email address and Customer IBAN parameter. Also, please send the Billing address parameters: Country, City, Street and ZipCode. These parameters will appear on the bank statement.

      Request:

      POST https://paytest.smart2pay.com/v1/payouts
      Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=
      
      {
        "Payout": {
          "MerchantTransactionID": "s2ptest_a12",
          "Amount": 3,
          "Currency": "PLN",
          "Description": "Test Payout",
          "MethodID": "12",
          "Customer": {
            "Email": "test@test.com",
            "FirstName": "John",
            "LastName": "Smith"
           },
          "BillingAddress": {
            "City": "City",
            "ZipCode": "700000",
            "Street": "Street",
            "Country": "PL"
          },
          "Details": {
            "CustomerIBAN": "PL24109024027163352166834377"
            }
          }
        } 

      Response:

      HTTP/1.1 201 Created
      Content-Type: application/json; charset=utf-8
      
      {
          "Payout": {
              "ID": 4390,
              "Created": "20201216060630",
              "MerchantTransactionID": "s2ptest_a12",
              "Amount": "3",
              "Currency": "PLN",
              "MethodID": 12,
              "Description": "Test Payout",
              "SiteID": 30199,
              "Details": {
                  "CustomerIBAN": "PL24109024027163352166834377"
              },
              "Customer": {
                  "ID": 2677591,
                  "MerchantCustomerID": null,
                  "Email": "test@test.com",
                  "FirstName": "John",
                  "LastName": "Smith",
                  "Gender": null,
                  "SocialSecurityNumber": null,
                  "Phone": null,
                  "Company": null,
                  "DateOfBirth": null
              },
              "BillingAddress": {
                  "ID": 13966,
                  "City": "City",
                  "ZipCode": "700000",
                  "State": null,
                  "Street": "Street",
                  "StreetNumber": null,
                  "HouseNumber": null,
                  "HouseExtension": null,
                  "Country": "PL"
              },
              "Status": {
                  "ID": 1,
                  "Info": "Open",
                  "Reasons": null
              }
          }
      }
    • For B2B payouts you can send in the request the Company parameter instead of FirstName and LastName parameters.

      Request:

      POST https://paytest.smart2pay.com/v1/payouts
      Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=
      
      {
        "Payout": {
          "MerchantTransactionID": "s2ptest_j1",
          "Amount": 2000,
          "Currency": "EUR",
          "MethodID": 1,
          "Customer": {
            "Email": "test@test.com",
            "Company": "Test Company SRL"
           },
          "BillingAddress": {
          "Country": "NL"
          },
          "Details": {
            "CustomerIBAN": "NL611904300234573201"
          }
        }
      }

      Also, you can avoid sending each time the Customer and Country details by sending the CustomerID and BillingAddressID – the ones you receive in the initial Response.

      Request:

      POST https://paytest.smart2pay.com/v1/payouts
      Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=
      
      {
        "Payout": {
          "MerchantTransactionID": "s2ptest_j1",
          "Amount": 2000,
          "Currency": "EUR",
          "MethodID": 1,
          "Customer": {
            "ID": 335
           },
          "BillingAddress": {
          "ID": 170
          },
          "Details": {
            "CustomerIBAN": "NL611904300234573201"
          }
        }
      }
    • For Trustly Payouts(29) you need to send in the request the Customer Bank Account ID parameter.

      Request:

      POST https://paytest.smart2pay.com/v1/payouts
      Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=
      
      {
        "Payout": {
          "MerchantTransactionID": "s2ptest_j1",
          "Amount": 1000,
          "Currency": "EUR",      
          "MethodID": 29,
          "Customer": {    
            "Email": "youremail@email.com"   
          },
          "Details":{
            "CustomerBankAccountID": "3541977722"}
        }
      }

      Response:

      HTTP/1.1 201 Created
      Content-Type: application/json; charset=utf-8
      
      {
          "Payout": {
              "ID": 376,
              "Created": "20190507131247",
              "MerchantTransactionID": "s2ptest_j1",
              "Amount": "1000",
              "Currency": "EUR",           
              "MethodID": 29,
              "Description": null,
              "SiteID": 30201,
              "Details": {
                  "CustomerBankAccountID": "3541977722"
              },
              "Customer": {
                  "ID": 335,
                  "MerchantCustomerID": null,
                  "Email": "youremail@email.com",
                  "FirstName": null,
                  "LastName": null,
                  "Gender": null,
                  "SocialSecurityNumber": null,
                  "Phone": null,
                  "Company": null,
                  "DateOfBirth": null
              },
              "BillingAddress": null,
              "Status": {
                  "ID": 1,
                  "Info": "Open",
                  "Reasons": null
              }
          }
      }

    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://paytest.smart2pay.com/v1/payouts
    Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=
    
    {
      "Payout": {
        "MerchantTransactionID": "s2ptest_j2",
        "Amount": 1000,
        "Currency": "EUR",      
        "Customer": {    
          "Email": "youremail@email.com"   
        },
        "Details":{
          "CustomerBankAccountID": "3541977722"
        }
      }
    }

    Response:

    HTTP/1.1 400 Bad Request
    Content-Type: application/json; charset=utf-8
    
    {
        "Payout": {
            "ID": 0,
            "Created": null,
            "MerchantTransactionID": "s2ptest_j2",
            "Amount": "1000",
            "Currency": null,
            "Description": null,
            "SiteID": 30201,
            "Details": {
                "CustomerBankAccountID": "3541977722"
            },
            "Customer": {
                "MerchantCustomerID": null,
                "Email": "youremail@email.com",
                "FirstName": null,
                "LastName": null,
                "Gender": null,
                "SocialSecurityNumber": null,
                "Phone": null,
                "Company": null,
                "DateOfBirth": null
            },
            "BillingAddress": null,
            "Status": {
                "ID": null,
                "Info": null,
                "Reasons": [
                    {
                        "Code": "1",
                        "Info": "Missing parameter - MethodID"
                    }
                ]
            }
        }
    }