Manage Personal Payment Methods
A personal payment method associates a person to a payment method, currency, and payment source. You can use the payment method REST services to create, update, and retrieve payment methods.
The personalPaymentMethods resource includes a list of all personal payment methods for a given payroll relationship.
In this use case, we discuss these scenarios:
-
Create a Personal Payment Method
-
Update the Payment Amount Type
-
Retrieve Multiple Personal Payment Methods
Create a Personal Payment Method
Let's say that Robin wants to sign up for Direct Deposit of his pay checks. For his personal payment method, you specify the Organization Payment Method and the payment amount type in the Oracle HCM Cloud.
Also, you create these bank account details for his Checking account in the Oracle Financials Cloud.
Bank Account | Value |
---|---|
Account Number |
1265896441 |
Account Type |
Checking |
Bank Name |
Bank of America |
Routing Transit Number (Bank Branch Number) |
511000025 |
Here's a graphic to help you understand this scenario.
To create a personal payment method:
- Perform a POST operation on the
personalPaymentMethods
resource by providing the worker details in the request body. - Verify the details returned in the response.
Example URL
Use this resource URL format.
POST
https://<host>:<port>/hcmRestApi/resources/11.13.18.05/personalPaymentMethods
Example Request
Here's an example of the request body in JSON format.
{
"Name": "EFT Payment Method",
"EffectiveStartDate": "2010-02-01",
"EffectiveEndDate": "4712-12-31",
"OrgPaymentMethodId": 300100014505486,
"BankAccountId": 1212101011,
"PaymentAmountType": "P",
"Amount": null,
"Percentage": 100,
"Priority": 10,
"PayrollRelationshipId": 300100006014818
}
You can retrieve PayrollRelationshipId
from the payrollRelationships
and BankAccountId
from the /externalBankAccounts
REST resources. For more information on External Bank Accounts, refer to the REST API for Oracle Financials Cloud guide.
Example Response
Here's an example of the response body in JSON format.
{
"PersonalPaymentMethodId": 300100181650103,
"Name": "EFT Payment Method",
"EffectiveStartDate": "2010-10-12",
"EffectiveEndDate": "4712-12-31",
"OrgPaymentMethodId": 300100005800591,
"BankAccountId": 1212101011,
"PaymentAmountType": "P",
"Amount": null,
"Percentage": 100,
"Priority": 10,
"PayrollRelationshipId": 300100006014818,
"PartyId": 300100006001613,
"PersonNumber": "300100006014805",
"links": []
}
Update the Payment Amount Type
For each pay period, Julie had opted for a fixed payment amount to be transferred to her husband???s account. After her recent promotion as the Sales Manager, she expects to receive frequent bonuses and sales commissions. Because Julie???s net payment amount always changes, she decides to allocate four percent of her pay to the fund. She updates her personal payment method to use Percentage as the payment amount type.
By using a percentage rather than a fixed amount, she can now contribute to the fund at the same rate that she earns.
To update the payment amount type:
- Perform a PATCH operation on this URL to update the payment amount type as Percentage.
- Verify the details returned in the response.
Example URL
Use this resource URL format.
PATCH
https://<host>:<port>/hcmRestApi/resources/11.13.18.05/personalPaymentMethods/<<Generated Personal Payment Method Id>>
Example Request
Here's an example of the request body in JSON format.
{
"PersonalPaymentMethodId": 300100181650365,
"Name": "Cheque Payment Method",
"EffectiveStartDate": "2010-10-12",
"EffectiveEndDate": "4712-12-31",
"Percentage": 4,
"PayrollRelationshipId": 300100006014818
}
Example Response
Here's an example of the response body in JSON format.
{
"PersonalPaymentMethodId": 300100181650365,
"Name": "Cheque Payment Method",
"EffectiveStartDate": "2016-01-01",
"EffectiveEndDate": "4712-12-31",
"OrgPaymentMethodId": 300100005800591,
"BankAccountId": null,
"PaymentAmountType": "P",
"Amount": null,
"Percentage": 4,
"Priority": 20,
"PayrollRelationshipId": 300100006014818,
"PartyId": 300100006001613,
"PersonNumber": "300100006014805",
"links": []
}
Retrieve Multiple Personal Payment Methods
Jim works in Arizona, but his wife and children live in Texas. For each payroll period, Jim wants these disbursements:
-
900 USD transferred to his checking account for his wife's household expenses in Texas.
-
A percentage transferred to his children's college fund.
-
The remainder paid to him by check for his expenses in Arizona.
Jim creates three payment methods by submitting a POST
request on the payrollRelationships
resource:
-
A check payment method for remaining pay.
-
An EFT payment method with the college fund bank account details.
-
An EFT payment method with his checking account bank details.
Now, he wants to view all his payment methods. To view the details, he submits the GET request on the payrollRelationships resource.
Here's a graphic to help you understand this scenario.
To retrieve all the personal payment methods:
-
Submit a
GET
request on thepayrollRelationships
resource. -
Verify the details returned in the response.
Example URL
Use this resource URL format.
PATCH
https://<host>:<port>/hcmRestApi/resources/11.13.18.05/personalPaymentMethods
GET
https://<host>:<port>/hcmRestApi/resources/11.13.18.05/personalPaymentMethods
Example Request
Here's an example of request body in JSON format to create a check payment method:
{
"Name": "Check Payment Method",
"EffectiveEndDate": "4712-12-31",
"EffectiveStartDate": "2020-03-03",
"BankAccountId": null,
"OrgPaymentMethodId": 300100003245042,
"PaymentAmountType": "P",
"Amount": null,
"Percentage": 100,
"Priority": 30,
"PayrollRelationshipId": 300100006342199
}
Here's an example of request body in JSON format to create an EFT payment method with the college fund bank account details:
{
"Name": "EFT with college account",
"EffectiveStartDate": "2020-03-03",
"EffectiveEndDate": "4712-12-31",
"OrgPaymentMethodId": 300100003245046,
"BankAccountId": 143814,
"PaymentAmountType": "P",
"Amount": null,
"Percentage": 10,
"Priority": 20,
"PayrollRelationshipId": 300100006342199
}
Here's an example of request body in JSON format to create an EFT payment method with checking account bank details.
{
"Name": "EFT with Checking account",
"EffectiveStartDate": "2020-03-03",
"EffectiveEndDate": "4712-12-31",
"OrgPaymentMethodId": 300100003245046,
"BankAccountId": 143813,
"PaymentAmountType": "M",
"Amount": 900,
"Percentage": null,
"Priority": 10,
"PayrollRelationshipId": 300100006342199
}
Example Response
Here are examples of response body in JSON format.PATCH
Create a check payment method
{
"PersonalPaymentMethodId": 300100210071144,
"Name": "Check Payment Method",
"EffectiveStartDate": "2020-03-03",
"EffectiveEndDate": "4712-12-31",
"OrgPaymentMethodId": 300100003245042,
"BankAccountId": null,
"PaymentAmountType": "P",
"Amount": null,
"Percentage": 100,
"Priority": 30,
"PayrollRelationshipId": 300100006342199,
"PartyId": 300100006257275,
"PersonNumber": "300100006342154",
"links": []
}
Create an EFT payment method
{
"PersonalPaymentMethodId": 300100210089777,
"Name": "EFT with college account",
"EffectiveStartDate": "2020-03-03",
"EffectiveEndDate": "4712-12-31",
"OrgPaymentMethodId": 300100003245046,
"BankAccountId": 143814,
"PaymentAmountType": "P",
"Amount": null,
"Percentage": 10,
"Priority": 20,
"PayrollRelationshipId": 300100006342199,
"PartyId": 300100006257275,
"PersonNumber": "300100006342154",
"links": []
}
EFT payment method with checking account bank details.
{
"PersonalPaymentMethodId": 300100210095298,
"Name": "EFT with Checking account",
"EffectiveStartDate": "2020-03-03",
"EffectiveEndDate": "4712-12-31",
"OrgPaymentMethodId": 300100003245046,
"BankAccountId": 143813,
"PaymentAmountType": "M",
"Amount": 900,
"Percentage": null,
"Priority": 10,
"PayrollRelationshipId": 300100006342199,
"PartyId": 300100006257275,
"PersonNumber": "300100006342154",
"links": []
}
GET
{
"items": [
{
"PersonalPaymentMethodId": 300100209940943,
"Name": "EFT with Checking account",
"EffectiveStartDate": "2020-03-03",
"EffectiveEndDate": "4712-12-31",
"OrgPaymentMethodId": 300100003245046,
"BankAccountId": 143813,
"PaymentAmountType": "M",
"Amount": 900,
"Percentage": null,
"Priority": 10,
"PayrollRelationshipId": 300100006342199,
"PartyId": 300100006257275,
"PersonNumber": "300100006342154",
"links": []
},
{
"PersonalPaymentMethodId": 300100209940940,
"Name": "EFT with college account",
"EffectiveStartDate": "2020-03-03",
"EffectiveEndDate": "4712-12-31",
"OrgPaymentMethodId": 300100003245046,
"BankAccountId": 143814,
"PaymentAmountType": "P",
"Amount": null,
"Percentage": 10,
"Priority": 20,
"PayrollRelationshipId": 300100006342199,
"PartyId": 300100006257275,
"PersonNumber": "300100006342154",
"links": []
},
{
"PersonalPaymentMethodId": 300100209940792,
"Name": "Check Payment Method",
"EffectiveStartDate": "2020-03-03",
"EffectiveEndDate": "4712-12-31",
"OrgPaymentMethodId": 300100003245042,
"BankAccountId": null,
"PaymentAmountType": "P",
"Amount": null,
"Percentage": 100,
"Priority": 30,
"PayrollRelationshipId": 300100006342199,
"PartyId": 300100006257275,
"PersonNumber": "300100006342154",
"links": []
}
],
"count": 3,
"hasMore": false,
"limit": 25,
"offset": 0,
"links": []
}