Skip to main content

Schedule


The Schedule API allows organizations to set up scheduled payments with Matbia, requiring details such as organization information, card details, payment amount, and schedule frequency. Upon successful setup, the API returns a standardized response confirming the success of the request.

Endpoint#

v1/Matbia/Schedule

Http Request Method#

POST

Request Header#

See Authorization

Request Body#

note
* Indicates required field.
* Either orgUserHandle or the combination of orgTaxId, orgName, and orgEmail is required. See examples of both scenarios below.
NameTypeDescription
orgUserHandle*stringThe API key can be obtained from the organization's profile page. Providing the API key is preferred to ensure accurate organization matching. This field is not mandatory, as transactions can be matched to profile using the orgTaxId, orgName, and orgEmail instead.
orgTaxId*stringOrganization Tax Id
orgName*stringOrganization Name
orgEmail*stringOrganization Email
cardNum*stringMatbia Card Number
exp*stringMatbia Card Expiration Number
amountPerPayment*doubleAmount for Each Scheduled Payment
scheduleStartDate*string - ISO 8601 formatDate and time of the start date, in UTC time, can be any valid ISO_8601 format. Note: If this is set to today, the first payment will be processed immediately. If this date is set for the future, the first payment will be scheduled for the selected date.
count*intTotal number of payments. This includes the first payment.
frequency*intRecurrence pattern for the scheduled payments. Acceptable values are 1 for Daily, 2 for Weekly, 3 for Bi-Weekly, 4 for Monthly, or 5 for Annually.
notestringReference/Additional Text

Response#

error"" (Click here for a list of possible errors.)
status"Success", “Error”, “Declined”, or “Failed”. See the error field for details.
referenceId“XXXX”
cardHolderName""

Example using orgUserHandle:#

cURL:

    curl -X POST ^    "https://sandbox.api.matbia.org/v1/Matbia/Schedule" ^    -H "accept: application/json" ^    -H "Authorization: DA8874A1-9393-4D59-8A79-5E436F2538A0" ^    -H "Content-Type: application/json-patch+json" ^    -d "{\"orgUserHandle\": \"e542199755e04395b6a5c5bafb7c40be\", \"orgTaxId\": null, \"orgName\": null, \"orgEmail\": null, \"cardNum\": \"8628249448173425\", \"exp\": \"1228\", \"amountPerPayment\": 1.00, \"scheduleStartDate\": \"2024-04-10T16:24:42.129Z\", \"count\": 2, \"frequency\": 1, \"note\": null}"

Payload:

    {        "orgUserHandle": "e542199755e04395b6a5c5bafb7c40be",        "orgTaxId": null,        "orgName": null,        "orgEmail": null,        "cardNum": "8628249448173425",        "exp": "1228",        "amountPerPayment": 1.00,        "scheduleStartDate": "2024-04-10T16:24:42.129Z",        "count": 2,        "frequency": 1,        "note": null    }

Response:

    {        "error": null,        "status": "Success",        "referenceId": "2b3674707a6c654159757248666d6c77456d386172513d3d",        "cardHolderName": null    }

Example using orgTaxId, orgName, and orgEmail:#

cURL:

    curl -X POST ^    "https://sandbox.api.matbia.org/v1/Matbia/Schedule" ^    -H "accept: application/json" ^    -H "Authorization: DA8874A1-9393-4D59-8A79-5E436F2538A0" ^    -H "Content-Type: application/json-patch+json" ^    -d "{\"orgUserHandle\": null, \"orgTaxId\": \"112233448\", \"orgName\": \"ABC Charity\", \"orgEmail\": \"test@test.com\", \"cardNum\": \"8628249448173425\", \"exp\": \"1228\", \"amountPerPayment\": 1.00, \"scheduleStartDate\": \"2024-04-10T16:24:42.129Z\", \"count\": 2, \"frequency\": 1, \"note\": null}"

Payload:

    {        "orgUserHandle": null,        "orgTaxId": "112233448",        "orgName": "ABC Charity",        "orgEmail": "test@test.com",        "cardNum": "8628249448173425",        "exp": "1228",        "amountPerPayment": 1.00,        "scheduleStartDate": "2024-04-10T16:24:42.129Z",        "count": 2,        "frequency": 1,        "note": null    }

Response:

    {        "error": null,        "status": "Success",        "referenceId": "42433968494a76412b596e33357279783375745651513d3d",        "cardHolderName": null    }