Step 12 – Set up Payouts / Payment Methods
What are Payouts and Payment Plan?
Payouts and Payment Plan are essential configurations for setting up how you receive payments after a student books a property. They ensure that your payment process is smooth and transparent.
-
Payouts: When “Students must make payment online” is set to
Yes, Student.com will collect the payment from the student and transfer it to you via the configured payouts. Available payout methods include Stripe, Virtual Credit Card, or Bank Transfer. In this case, a Payout Plan is required. -
Payment methods: When “Students must make payment online” is set to
No, students will pay you directly, and Student.com will not be involved in the payment process. You’ll need to configure a payment methods to clearly instruct students on how to pay you — for example, via offline methods or bank transfer. Note that even though Student.com doesn’t collect the payment, a service fee will still apply once the booking is confirmed.
Create Payout
-
API: createOnlinePaymentMethod
-
Purpose & Use Cases: When “Students must make payment online” is set to
Yes, Student.com will collect the payment from the student and transfer it to you via the configured payouts. In this case, a Payout Plan is required. Supported payout methods include:- Stripe
- Virtual Credit Card (VCC)
- Bank Transfer
- Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| name | NonEmptyString | Yes | The name of the payout |
| methodType | OnlinePaymentMethodType | Yes | The type of the payout; Possible values: STRIPE VIRTUAL_CREDIT_CARD BANK_TRANSFER |
| properties | OnlinePaymentMethodBankPropertyInput[] | Yes | A list of property related to the payment methods; OnlinePaymentMethodBankPropertyInput is an object includes, propertyId: DecodedPropertyID!; |
| stripes | OnlinePaymentMethodStripeInput | Yes when methodType is set to STRIPE |
Detail of payment method Stripes; OnlinePaymentMethodStripeInput is an object includes, stripeId: NonEmptyString!; |
| virtualCreditCards | OnlinePaymentMethodVirtualCreditCardInput | Yes when methodType is set to VIRTUAL_CREDIT_CARD |
Detail of payment method Virtual Credit Cards; OnlinePaymentMethodVirtualCreditCardInput is an object includes, email: NonEmptyString! |
| bankTransfers | OnlinePaymentMethodBankTransferInput | Yes when methodType is set to BANK_TRANSFER |
Detail of payment method Bank Transfers; OnlinePaymentMethodBankTransferInput is an object includes, data: JSON! |
QUERY
mutation CreateOnlinePaymentMethod($input: CreateOnlinePaymentMethodInput) {
createOnlinePaymentMethod(input: $input) {
id
landlordId
name
methodType
createdAt
updatedAt
stripes {
stripeId
}
virtualCreditCards {
email
}
bankTransfers {
data
}
properties {
id
}
updatedBy {
id
firstName
lastName
phone
email
}
}
}
GRAPHQL VARIABLES
{
"input": {
"name": "open api test payout 02",
"methodType": "VIRTUAL_CREDIT_CARD",
"virtualCreditCards": {
"email": "1010@qq.com"
},
"properties": [
{
"propertyId": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDc3OX0="
}
]
}
}
- Response:
{
"data": {
"createOnlinePaymentMethod": {
"id": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6NjN9",
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"name": "open api test payout 02",
"methodType": "VIRTUAL_CREDIT_CARD",
"createdAt": "2025-05-29T08:14:02+00:00",
"updatedAt": "2025-05-29T08:14:02+00:00",
"stripes": null,
"virtualCreditCards": {
"email": "1010@qq.com"
},
"bankTransfers": null,
"properties": [
{
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDg4N30="
}
],
"updatedBy": {
"id": "eyJ0eXBlIjoiTGFuZGxvcmRDb250YWN0IiwiaWQiOjE5MX0=",
"firstName": "tyra 2",
"lastName": "test1",
"phone": "(+86) 15000089474",
"email": "tyra.huang+1@student.com"
}
}
}
}
- Error Message:
| Error Message | Description |
|---|---|
| property data is wrong | Unable to create payout because input.propertyIds contain duplicate or non-existent IDs |
| Invalid property id | Access denied because the property.landlordId does not match the token.landlord |
| Invalid property booking journey: ${property.bookingJourney}$ | Unable to create a payout because property.bookingJourney is not in [BOOK, CONNECT] |
| properties`s apCategory is not KEY | Unable to create a payout because property.apCategory is not KEY and methodType is STRIPE |
Update Payout
-
API: updateOnlinePaymentMethod
-
Purpose & Use Cases: This API allows you to update the basic information of the payout.
-
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| onlinePaymentMethodId | DecodedWithdrawMethodID | Yes | Unique identifier for the payout |
| name | NonEmptyString | No | The name of the payout |
| methodType | OnlinePaymentMethodType | No | The type of the payout; Possible values: STRIPE VIRTUAL_CREDIT_CARD BANK_TRANSFER |
| stripes | OnlinePaymentMethodStripeInput | Yes when methodType is set to STRIPE |
Detail of payment method Stripes; OnlinePaymentMethodStripeInput is an object includes, stripeId: NonEmptyString!; |
| virtualCreditCards | OnlinePaymentMethodVirtualCreditCardInput | Yes when methodType is set to VIRTUAL_CREDIT_CARD |
Detail of payment method Virtual Credit Cards; OnlinePaymentMethodVirtualCreditCardInput is an object includes, email: NonEmptyString! |
| bankTransfers | OnlinePaymentMethodBankTransferInput | Yes when methodType is set to BANK_TRANSFER |
Detail of payment method Bank Transfers; OnlinePaymentMethodBankTransferInput is an object includes, data: JSON! |
QUERY
mutation UpdateOnlinePaymentMethod($input: updateOnlinePaymentMethodInput) {
updateOnlinePaymentMethod(input: $input) {
id
landlordId
name
methodType
createdAt
updatedAt
stripes {
stripeId
}
virtualCreditCards {
email
}
bankTransfers {
data
}
properties {
id
}
updatedBy {
id
firstName
lastName
phone
email
}
}
}
GRAPHQL VARIABLES
{
"input": {
"name": "update 002",
"bankTransfers": {
"data": {
"beneficiary_account_number": "68684458",
"beneficiary_name": "Test updates",
"beneficiary_addr": "上海静安昌平路",
"bank_address": "test",
"beneficiary_bank_name": "Test name",
"ibanNumber": "12323888777",
"routingNumber": "23434",
"sortCode": "234998",
"account_number":"233333",
"name_of_beneficiary":"test",
"swift_code": "skws"
}
},
"methodType": "BANK_TRANSFER",
"onlinePaymentMethodId": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6NjN9=="
}
}
- Response:
{
"data": {
"updateOnlinePaymentMethod": {
"id": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6NjN9",
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"name": "test UpdateOnlinePaymentMethod 002",
"methodType": "BANK_TRANSFER",
"createdAt": "2025-05-29T08:14:02+00:00",
"updatedAt": "2025-05-29T08:18:20+00:00",
"stripes": null,
"virtualCreditCards": null,
"bankTransfers": {
"data": {
"ibanNumber": "12323888777",
"accountNumber": "233333",
"nameOfBeneficiary": "test",
"sortCode": "234998"
}
},
"properties": [
{
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDg4N30="
}
],
"updatedBy": {
"id": "eyJ0eXBlIjoiTGFuZGxvcmRDb250YWN0IiwiaWQiOjE5MX0=",
"firstName": "tyra 2",
"lastName": "test1",
"phone": "(+86) 15000089474",
"email": "tyra.huang+1@student.com"
}
}
}
}
List Payouts
-
API: listOnlinePaymentMethods
-
Purpose & Use Cases: This API allows you to get the list of the payouts.
-
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| pageNumber | Int | No | The number of the page |
| pageSize | Int | No | The size of the page |
QUERY
query ListOnlinePaymentMethods(
$pageNumber: PositiveInteger
$pageSize: PositiveInteger
) {
listOnlinePaymentMethods(pageNumber: $pageNumber, pageSize: $pageSize) {
onlinePaymentMethod {
id
landlordId
name
methodType
createdAt
updatedAt
stripes {
stripeId
}
virtualCreditCards {
email
}
bankTransfers {
data
}
properties {
id
}
updatedBy {
id
firstName
lastName
phone
email
}
}
pageInfo {
total
totalPages
currentPage
pageSize
}
}
}
GRAPHQL VARIABLES
{
"pageSize": 10,
"pageNumber": 1
}
- Response:
{
"data": {
"listOnlinePaymentMethods": {
"onlinePaymentMethod": [
{
"id": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6Mzd9",
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"name": "name",
"methodType": "VIRTUAL_CREDIT_CARD",
"createdAt": "2024-08-14T09:17:57+00:00",
"updatedAt": "2024-08-14T09:17:57+00:00",
"stripes": null,
"virtualCreditCards": {
"email": "fancey.zou@student.com"
},
"bankTransfers": null,
"properties": [
{
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDg0Mn0="
}
],
"updatedBy": {
"id": "eyJ0eXBlIjoiTGFuZGxvcmRDb250YWN0IiwiaWQiOjE5MX0=",
"firstName": "tyra 2",
"lastName": "test1",
"phone": "(+86) 15000089474",
"email": "tyra.huang+1@student.com"
}
},
{
"id": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6NDV9",
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"name": "Payout plan_JP",
"methodType": "VIRTUAL_CREDIT_CARD",
"createdAt": "2024-12-26T05:58:00+00:00",
"updatedAt": "2024-12-26T05:58:00+00:00",
"stripes": null,
"virtualCreditCards": {
"email": "kevin.wen+dashboard2@student.com"
},
"bankTransfers": null,
"properties": [
{
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDg0Nn0="
}
],
"updatedBy": {
"id": "eyJ0eXBlIjoiTGFuZGxvcmRDb250YWN0IiwiaWQiOjE5MX0=",
"firstName": "tyra 2",
"lastName": "test1",
"phone": "(+86) 15000089474",
"email": "tyra.huang+1@student.com"
}
},
{
"id": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6NTN9",
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"name": "faceny test",
"methodType": "VIRTUAL_CREDIT_CARD",
"createdAt": "2025-03-04T03:45:03+00:00",
"updatedAt": "2025-03-04T03:45:03+00:00",
"stripes": null,
"virtualCreditCards": {
"email": "fancey.zou@student.com"
},
"bankTransfers": null,
"properties": [
{
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDg3NX0="
}
],
"updatedBy": {
"id": "eyJ0eXBlIjoiTGFuZGxvcmRDb250YWN0IiwiaWQiOjE5MX0=",
"firstName": "tyra 2",
"lastName": "test1",
"phone": "(+86) 15000089474",
"email": "tyra.huang+1@student.com"
}
},
{
"id": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6NTZ9",
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"name": "payout",
"methodType": "VIRTUAL_CREDIT_CARD",
"createdAt": "2025-04-29T09:48:01+00:00",
"updatedAt": "2025-04-29T09:48:01+00:00",
"stripes": null,
"virtualCreditCards": {
"email": "tyra.huang@student.com"
},
"bankTransfers": null,
"properties": [
{
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDc3OH0="
}
],
"updatedBy": {
"id": "eyJ0eXBlIjoiTGFuZGxvcmRDb250YWN0IiwiaWQiOjE5MX0=",
"firstName": "tyra 2",
"lastName": "test1",
"phone": "(+86) 15000089474",
"email": "tyra.huang+1@student.com"
}
},
{
"id": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6NjB9",
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"name": "open api test payout 02",
"methodType": "VIRTUAL_CREDIT_CARD",
"createdAt": "2025-05-20T05:51:23+00:00",
"updatedAt": "2025-05-20T05:51:23+00:00",
"stripes": null,
"virtualCreditCards": {
"email": "1010@qq.com"
},
"bankTransfers": null,
"properties": [
{
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDc3OX0="
}
],
"updatedBy": {
"id": "eyJ0eXBlIjoiTGFuZGxvcmRDb250YWN0IiwiaWQiOjE5MX0=",
"firstName": "tyra 2",
"lastName": "test1",
"phone": "(+86) 15000089474",
"email": "tyra.huang+1@student.com"
}
},
{
"id": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6NjN9",
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6NDEyN30=",
"name": "test UpdateOnli",
"methodType": "BANK_TRANSFER",
"createdAt": "2025-05-29T08:14:02+00:00",
"updatedAt": "2025-06-03T06:42:40+00:00",
"stripes": null,
"virtualCreditCards": null,
"bankTransfers": {
"data": {
"ibanNumber": "12323888777",
"accountNumber": "233333",
"nameOfBeneficiary": "test",
"sortCode": "234998"
}
},
"properties": [
{
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDg4M30="
},
{
"id": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDg4N30="
}
],
"updatedBy": {
"id": "eyJ0eXBlIjoiTGFuZGxvcmRDb250YWN0IiwiaWQiOjE5MX0=",
"firstName": "tyra 2",
"lastName": "test1",
"phone": "(+86) 15000089474",
"email": "tyra.huang+1@student.com"
}
}
],
"pageInfo": {
"total": 6,
"totalPages": 1,
"currentPage": 1,
"pageSize": 10
}
}
}
}
Delete Payout
-
API: deleteOnlinePaymentMethod
-
Purpose & Use Cases: This API allows you to delete the payout.
-
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| onlinePaymentMethodId | ID | Yes | Unique identifier for the payout |
mutation DeleteOnlinePaymentMethod ($input: deleteOnlinePaymentMethodInput) {
deleteOnlinePaymentMethod(input: $input) {
success
}
}
- Response:
{
"input": {
"onlinePaymentMethodId": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6NjN9"
}
}
Bind Properties To Payout
-
API: bindPropertiesToOnlinePaymentMethod
-
Purpose & Use Cases: This API allows you to bind a payout to the corresponding properties.
-
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| propertyIds | ID[] | Yes | A list of propertyId related to the payment methods |
| onlinePaymentMethodId | ID | Yes | Unique identifier for the payout |
QUERY
mutation BindPropertiesToOnlinePaymentMethod($input: BindPropertiesToOnlinePaymentMethodInput!) {
bindPropertiesToOnlinePaymentMethod(input: $input) {
success
message
}
}
GRAPHQL VARIABLES
{
"input": {
"propertyIds": ["eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0MTE5Mn0="],
"onlinePaymentMethodId": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6NjB9"
}
}
- Response:
{
"data": {
"bindPropertiesToOnlinePaymentMethod": {
"success": true,
"message": null
}
}
}
- Error Message:
| Error Message | Description |
|---|---|
| PAYMENT_METHOD_NOT_FOUND The specified payment method does not exist |
Unable to bind properties to the payout because the specified payout does not exist |
| This payment method does not belong to you | Access denied because the onlinePaymentMethod.landlordId does not match the token.landlord |
| The specified property could not be found | Unable to bind properties because the input.PropertyId cannot retrieve the property |
| This property does not belong to you | Access denied because the property.landlordId does not match the token.landlord |
| Booking journey is not eligible for applying an online payment method | Unable to bind properties because property.bookingJourney is not in [BOOK, CONNECT] |
| properties`s apCategory is not KEY | Unable to bind properties because onlinePaymentMethod.methodType is STRIPE and property.apCategory is not KEY |
| INVALID_PROPERTIES message: errorMessages |
Failed to bind properties because the validation rules were not met. All invalid properties are listed in the error message |
Unbind Properties To Payout
-
API: unbindPropertiesToOnlinePaymentMethod
-
Purpose & Use Cases: This API allows you to unbind a payout to the corresponding properties.
-
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| propertyIds | ID[] | Yes | A list of propertyId related to the payment methods |
| onlinePaymentMethodId | ID | Yes | Unique identifier for the payout |
QUERY
mutation UnbindPropertiesToOnlinePaymentMethod($input: UnbindPropertiesToOnlinePaymentMethodInput!) {
unbindPropertiesToOnlinePaymentMethod(input: $input) {
success
message
}
}
GRAPHQL VARIABLES
{
"input": {
"propertyIds": ["eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0NDc3NH0="],
"onlinePaymentMethodId": "eyJ0eXBlIjoiV2l0aGRyYXdNZXRob2QiLCJpZCI6NjB9"
}
}
- Response:
{
"data": {
"unbindPropertiesToOnlinePaymentMethod": {
"success": true,
"message": null
}
}
}
- Error Message:
| Error Message | Description |
|---|---|
| PAYMENT_METHOD_NOT_FOUND The specified payment method does not exist |
Unable to bind properties to the payout because the specified payout does not exist |
| This payment method does not belong to you | Access denied because the onlinePaymentMethod.landlordId does not match the token.landlord |
| The specified property could not be found | Unable to bind properties because the input.PropertyId cannot retrieve the property |
| This property does not belong to you | Access denied because the property.landlordId does not match the token.landlord |
| Cannot unbind online payment method from a published property. Please unpublish the property before proceeding | Unable to unbind the payout because the property.status is PUBLISHED |
Create Payment Method
-
API: createOfflinePaymentMethod
-
Purpose & Use Cases: Payment method is used when students will pay you directly, instead of making payment through Student Student.com. When “Students must make payment online” is set to
No, you are responsible for collecting payment from the student.
A Payment Plan provides students with clear instructions on how to pay you — for example:
- Payment Link
- Virtual Credit Card (VCC)
- Bank Transfer
- Other
Student.com does not handle the payment in this case, but will still charge a service fee once the booking is confirmed.
-
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| instruction | String | No | The instruction of the payment methods |
| methodType | OfflinePaymentMethodType | Yes | The type of the payment methods; Possible values: PAYMENT_LINK VIRTUAL_CREDIT_CARD BANK_TRANSFER OTHER |
| propertyId | DecodedPropertyID | Yes | Identifier for the related property object |
| data | JSON | Yes | The data of the payment methods; data is an object includes, method_name: String!; |
QUERY
mutation CreateOfflinePaymentMethod($input: CreateOfflinePaymentMethodInput) {
createOfflinePaymentMethod(input: $input) {
offlinePaymentMethod {
id
landlordId
methodType
data
instruction
createdAt
updatedAt
updatedBy {
id
firstName
lastName
phone
email
}
}
}
}
GRAPHQL VARIABLES
{
"input": {
"methodType": "OTHER",
"data": {
"method_name": "new method"
},
"propertyId": "eyJ0eXBlIjoiUHJvcGVydHkiLCJpZCI6MTA0MTE5Mn0=",
"instruction": "This is the instruction"
}
}
- Response:
{
"data": {
"createOfflinePaymentMethod": {
"offlinePaymentMethod": {
"id": "eyJ0eXBlIjoiT2ZmbGluZVBheW1lbnRNZXRob2QiLCJpZCI6MTF9",
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6MTI4N30=",
"methodType": "OTHER",
"data": {
"methodName": "new method"
},
"instruction": "This is the instruction",
"createdAt": "2025-06-11T12:28:43+00:00",
"updatedAt": "2025-06-11T12:28:43+00:00"
}
}
}
}
- Error Message:
| Error Message | Description |
|---|---|
| The property already exists offline payment method, cannot create repeatedly | Unable to create a payment method because the input.property already has one |
Update Payment Method
-
API: updateOfflinePaymentMethod
-
Purpose & Use Cases: This API allows you to update the basic information of the payment method.
-
Request:
| Attribute Name | Data Type | Required | Details |
|---|---|---|---|
| id | DecodedOfflinePaymentMethodID | Yes | Identifier for the related property object |
| instruction | String | No | The instruction of the payment methods |
| methodType | OfflinePaymentMethodType | Yes | The type of the payment methods; Possible values: PAYMENT_LINK VIRTUAL_CREDIT_CARD BANK_TRANSFER OTHER |
| data | JSON | Yes | The data of the payment methods; data is an object includes, method_name: String!; |
QUERY
mutation UpdateOfflinePaymentMethod($input: UpdateOfflinePaymentMethodInput) {
updateOfflinePaymentMethod(input: $input) {
offlinePaymentMethod {
id
landlordId
methodType
data
instruction
createdAt
updatedAt
updatedBy {
id
firstName
lastName
phone
email
}
}
}
}
GRAPHQL VARIABLES
{
"input": {
"id": "eyJ0eXBlIjoiT2ZmbGluZVBheW1lbnRNZXRob2QiLCJpZCI6MTF9",
"methodType": "OTHER",
"data": {
"method_name": "updated method"
},
"instruction": "This is the new instruction"
}
}
- Response:
{
"data": {
"updateOfflinePaymentMethod": {
"offlinePaymentMethod": {
"id": "eyJ0eXBlIjoiT2ZmbGluZVBheW1lbnRNZXRob2QiLCJpZCI6MTF9",
"landlordId": "eyJ0eXBlIjoiTGFuZGxvcmQiLCJpZCI6MTI4N30=",
"methodType": "OTHER",
"data": {
"methodName": "updated method"
},
"instruction": "This is the instruction",
"createdAt": "2025-06-11T12:28:43+00:00",
"updatedAt": "2025-06-11T12:28:43+00:00"
}
}
}
}
- Error Message:
| Error Message | Description |
|---|---|
| permission rule cannot execute with invalid id | Access denied because the offlinePaymentMethod id does not belong to the landlord |
Payout Object
| Attribute Name | Data Type | Details |
|---|---|---|
| id | ID | Unique identifier for the payment object |
| name | NonEmptyString | The name of the payout |
| landlordId | String | Unique identifier for the related landlord object |
| methodType | OnlinePaymentMethodType | The type of the payment methods; Possible values: STRIPE VIRTUAL_CREDIT_CARD BANK_TRANSFER |
| createdAt | Datetime | The created time of the payment methods in format (YYYY-MM-DDTHH:mm:ssZ) |
| updatedAt | Datetime | The updated time of the payment methods in format (YYYY-MM-DDTHH:mm:ssZ) |
| updatedBy | LandlordContact | The landlordContact of the payment methods; LandlordContact is an object includes, id: ID!, firstName: String!, lastName: String!, phone: String, email: String; |
| stripes | OnlinePaymentMethodStripe | Detail of payment method Stripes; OnlinePaymentMethodStripe is an object includes, stripeId: NonEmptyString!; |
| virtualCreditCards | OnlinePaymentMethodVirtualCreditCard | Detail of payment method Virtual Credit Cards; OnlinePaymentMethodVirtualCreditCard is an object includes, email: NonEmptyString! |
| bankTransfers | OnlinePaymentMethodBankTransfer | Detail of payment method Bank Transfers; OnlinePaymentMethodBankTransfer is an object includes, data: JSON! |
| properties | Property[] | A list of property related to the payment methods |
Payment Method Object
| Attribute Name | Data Type | Details |
|---|---|---|
| id | ID | Unique identifier for the payment object |
| landlordId | String | Unique identifier for the related landlord object |
| methodType | OfflinePaymentMethodType | The type of the payment methods; Possible values: PAYMENT_LINK VIRTUAL_CREDIT_CARD BANK_TRANSFER OTHER |
| data | JSON | The data of the payment methods; data is an object includes, method_name: String!; |
| instruction | String | The instruction of the payment methods |
| createdAt | Datetime | The created time of the payment methods in format (YYYY-MM-DDTHH:mm:ssZ) |
| updatedAt | Datetime | The updated time of the payment methods in format (YYYY-MM-DDTHH:mm:ssZ) |
| updatedBy | LandlordContact | The landlordContact of the payment methods; LandlordContact is an object includes, id: ID!, firstName: String!, lastName: String!, phone: String, email: String; |