Payout Transaction

Info

GrubPay now facilitates USD transactions for sending money to your business partner. To integrate this functionality, please contact our customer service for assistance.

Payee

Payout transaction needs the pre-established payee information beforehand. The following endpoints allows merchants to Register, Query, Update, and Delete the payee's information.

Payee Status Dictionary
StatusExplanation
ACTIVATEDThe account is ready for payout transaction.
PENDINGThe account information has been received and is currently under review, it is not yet available for transactions, more information might be needed.
INVALIDThe account details provided are incorrect or do not pass validation checks, please contact GrubPay for further assistance.

Register Payee

Info

This endpoint allows the merchant in adding the payee and their funding account information, thereby enabling the payout transaction.

Endpoint

https://api.grubpay.io/v4/payout/payee_register

Method:

POST

Content-Type: application/json;charset=UTF-8

Request
NameRequiredTypeSampleDescription
mchIdyString10000701assigned by GrubPay
loginNameyString(12)jack123merchant's login name
payeeIdyString1234567890abcassigned by merchant
profileTypeyStringINDIVIDUALBUSINESS or INDIVIDUAL(if BUSINESS, enter the contact person's dateOfBirth)
companyy*StringDemo Incpayee's company name, only required if profileType = BUSINESS
dateOfBirthyString1970-01-01payee's birthday, must be in the format: yyyy-mm-dd
emailyStringabcd@example.compayee's email
firstNameyStringJohnpayee's first name
lastNameyStringSmithpayee's last name
phonenString1234567890payee's phone
stateyStringWashingtonpayee's state, can be the state code (e.g.WA)
cityyStringPortlandpayee's city
streetyString123 example Stpayee's street
street2nString#201optional address field (can be used for unit number)
zipyString000000payee's zip code
accountNumyString1234**798bank account number
routingNumyString0310**503bank account routing number
accountTypeyStringECHKECHK - checking account, ESAV - savings account
signyString(32)C380BEC2BFD727A4B6845133519F3AD6Sign algorithm
Response
nameRequiredtypesampledescription
retCodeyStringSUCCESS or FAIL
retMsgyString
retDatayJSONif retCode=SUCCESS, payee detailed info returned
retData contains payee information:
namerequiredtypesampledescription
payeeKeyyString2000300********5552assigned by GrubPay, required by all endpoints related to payee
payeeIdyString1234567890abcassigned by merchant
emailyStringabcd@example.compayee's email
createdTimeyString2024-02-21 23:40:16timestamp for when the payee was registered
firstNameyStringJohnpayee's first name
lastNameyStringSmithpayee's last name
payeeStatusyStringACTIVATEDplease see Payee Status Dictionary
payeeTokenyString2010300********6454payee's funding account's token

Note

Please ensure to keep track of the payeeKey as they are essential for processing payout transactions.

Query Payee

Info

This endpoint allows the merchant inquire about the status of a registered payee.

Endpoint

https://api.grubpay.io/v4/payout/payee_query

Method:

POST

Header

Content-Type: application/json;charset=UTF-8

Request
NameRequiredTypeSampleDescription
mchIdyString10000701assigned by GrubPay
payeeKeyyString2000300********5552assigned by GrubPay, required by all endpoints related to payee
signyString(32)C380BEC2BFD727A4B6845133519F3AD6Sign algorithm
Response
nameRequiredtypesampledescription
retCodeyStringSUCCESS or FAIL
retMsgyString
retDatayJSONif retCode=SUCCESS, payee detailed info returned
retData contains payee information:
namerequiredtypesampledescription
payeeKeyyString2000300********5552assigned by GrubPay, required by all endpoints related to payee
payeeIdyString1234567890abcassigned by merchant
emailyStringabcd@example.compayee's email
createdTimeyString2024-02-21 23:40:16timestamp for when the payee was registered
updatedTimeyString2024-02-21 23:53:16timestamp for when the payee was last updated
firstNameyStringJohnpayee's first name
lastNameyStringSmithpayee's last name
stateyStringWashingtonpayee's state
cityyStringPortlandpayee's city
streetyString123 example Stpayee's street
street2nString#201optional address field
zipyString000000payee's zip code
phonenString1234567890payee's phone
profileTypeyStringINDIVIDUALBUSINESS or INDIVIDUAL
companynStringDemo Incpayee's company name
payeeStatusyStringACTIVATEDplease see Payee Status Dictionary
payeeTokenyString2010300********6454payee's funding account's token

Update Payee

Info

This endpoint enables the merchant to update information for a payee already present in the system.

Endpoint

https://api.grubpay.io/v4/payout/payee_update

Method:

POST

Header

Content-Type: application/json;charset=UTF-8

Request
NameRequiredTypeSampleDescription
mchIdyString10000701assigned by GrubPay
loginNameyString(12)jack123merchant's login name
payeeKeyyString2000300********5552assigned by GrubPay, required by all endpoints related to payee
payeeIdnString1234567890abcassigned by merchant
profileTypenStringINDIVIDUALBUSINESS or INDIVIDUAL
companyy*StringDemo Incpayee's company name, only required when profileType = BUSINESS
dateOfBirthnString1970-01-01payee's birthday must be in the format: yyyy-mm-dd
firstNamenStringJohnpayee's first name
lastNamenStringSmithpayee's last name
phonenString1234567890payee's phone
statenStringWashingtonpayee's state, can be the state code (e.g.WA)
citynStringPortlandpayee's city
streetnString123 example Stpayee's street
street2nString#201optional address field (can be used for unit number)
zipnString000000payee's zip code
accountNumnString1234**798bank account number
routingNumnString0310**503bank account routing number
accountTypenStringECHKECHK - checking account, ESAV - savings account
signyString(32)C380BEC2BFD727A4B6845133519F3AD6Sign algorithm
Response
nameRequiredtypesampledescription
retCodeyStringSUCCESS or FAIL
retMsgyString
retDatayJSONif retCode=SUCCESS, payee detailed info returned
retData contains payee information:
namerequiredtypesampledescription
payeeKeyyString2000300********5552assigned by GrubPay, required by all endpoints related to payee
payeeIdyString1234567890abcassigned by merchant
emailyStringabcd@example.compayee's email
createdTimeyString2024-02-21 23:40:16timestamp for when the payee was registered
updatedTimeyString2024-02-21 23:53:16timestamp for when the payee was last updated
firstNameyStringJohnpayee's first name
lastNameyStringSmithpayee's last name
stateyStringWashingtonpayee's state
cityyStringPortlandpayee's city
streetyString123 example Stpayee's street
street2nString#201optional address field
zipyString000000payee's zip code
phonenString1234567890payee's phone
profileTypeyStringINDIVIDUALBUSINESS or INDIVIDUAL
companynStringDemo Incpayee's company name
payeeStatusyStringACTIVATEDplease see Payee Status Dictionary
payeeTokenyString2010300********6454payee's funding account's token

Delete Payee

Info

This endpoint allows the merchant to delete a payee from the system.

Endpoint

https://api.grubpay.io/v4/payout/payee_delete

Method:

POST

Header

Content-Type: application/json;charset=UTF-8

Request
NameRequiredTypeSampleDescription
mchIdyString10000701assigned by GrubPay
loginNameyString(12)jack123merchant's login name
payeeKeyyString2000300********5552assigned by GrubPay, required by all endpoints related to payee
emailyStringabcd@example.compayee's email
signyString(32)C380BEC2BFD727A4B6845133519F3AD6Sign algorithm
Response
nameRequiredtypesampledescription
retCodeyStringSUCCESS or FAIL
retMsgyStringsuccessfully deleted payee: 1234567890abc
retDatayJSONif retCode=SUCCESS, payee detailed info returned
retData contains deleted payee information:
namerequiredtypesampledescription
payeeKeyyString2000300********5552assigned by GrubPay, required by all endpoints related to payee
payeeIdyString1234567890abcassigned by merchant
emailyStringabcd@example.compayee's email
createdTimeyString2024-02-21 23:40:16timestamp for when the payee was registered
updatedTimeyString2024-02-21 23:53:16timestamp for when the payee was last updated
firstNameyStringJohnpayee's first name
lastNameyStringSmithpayee's last name
stateyStringWashingtonpayee's state
cityyStringPortlandpayee's city
streetyString123 example Stpayee's street
street2nString#201optional address field
zipyString000000payee's zip code
phonenString1234567890payee's phone
profileTypeyStringINDIVIDUALBUSINESS or INDIVIDUAL
companynStringDemo Incpayee's company name
payeeStatusyStringACTIVATEDplease see Payee Status Dictionary
payeeTokenyString2010300********6454payee's funding account's token

Payout Transfer

Info

This endpoint is responsible for executing the actual payout transaction.

Transfer Status Dictionary
StatusExplaination
pendingRequest has been successfully received by the system. It is currently in the queue for processing.
successThe transaction has been processed without any issues, and the funds have been credited to the recipient's account.
failedRequest was not completed, and the funds were not deducted from the sender's account. (insufficient funds, incorrect payment details, etc)
returnedRequest was cancelled after it was initiated. This could occur if the recipient's account rejects the funds.
Endpoint

https://api.grubpay.io/v4/payout/pay

Method:

POST

Header

Content-Type: application/json;charset=UTF-8

Request
NameRequiredTypeSampleDescription
mchIdyString10000701assigned by GrubPay
loginNameyString(12)jack123merchant's login name
payeeKeyyString2000300********5552assigned by GrubPay, required by all endpoints related to payee
mchPayoutIdyStringabcdefghThe payment unique ID in the merchant's system
amountyint1500in cents
subjectnString(64)
bodynString(250)
channelnStringSTANDARD_ACHSTANDARD_ACH or SAME_DAY_ACH
notifyUrlyStringhttps://example.com/webhooksmerchant's webhook URL to receive transaction notifications
signyString(32)C380BEC2BFD727A4B6845133519F3AD6Sign algorithm
Response
nameRequiredtypesampledescription
retCodeyStringSUCCESS or FAIL
retMsgyString
retDatayJSONif retCode=SUCCESS, order detailed info returned
retData contains payout transaction information:
namerequiredtypesampledescription
payeeKeyyString2000300********5552assigned by GrubPay, payee of this payout transaction
payOrderIdyString123456789012345678assigned by GrubPay
mchPayoutIdyStringabcdefghThe payment unique ID in the merchant's system
createdTimeyString2024-02-21 23:40:16timestamp for when the transcation was placed
amountyint1500in cents
statusyStringpendingplease see Transfer Status Dictionary
payeeTokenyString2010300********6454payee's funding account's token
channelyStringSTANDARD_ACHSTANDARD_ACH or SAME_DAY_ACH

Query Payout Transaction

Info

This endpoint allows the merchant to query a payout transaction.

Endpoint

https://api.grubpay.io/v4/payout/query

Method:

POST

Header

Content-Type: application/json;charset=UTF-8

Request
NameRequiredTypeSampleDescription
mchIdyString10000701assigned by GrubPay
payOrderIdyString123456789012345678assigned by GrubPay
signyString(32)C380BEC2BFD727A4B6845133519F3AD6Sign algorithm
Response
nameRequiredtypesampledescription
retCodeyStringSUCCESS or FAIL
retMsgyString
retDatayJSONif retCode=SUCCESS, transaction detailed info returned
retData contains payout transaction information:
namerequiredtypesampledescription
mchIdyString10000701assigned by GrubPay
payeeKeyyString2000300********5552assigned by GrubPay, payee of this payout transaction
payOrderIdyString123456789012345678assigned by GrubPay
mchPayoutIdyStringabcdefghThe payment unique ID in the merchant's system
currencyyStringUSDFixed to USD
payTypeyStringpayoutFixed to payout
createdTimeyString2024-02-21 23:40:16timestamp for when the transcation was placed
paySuccTimeyString2024-02-21 23:59:59timestamp for when the transcation was completed
amountyint1500in cents
statusyStringsuccessplease see Transfer Status Dictionary
payeeTokenyString2010300********6454payee's funding account's token
channelyStringSTANDARD_ACHSTANDARD_ACH or SAME_DAY_ACH
Last Updated:
Contributors: Howard