Accounts
A payment account is a way to receive payment when placing an order. You can create multiple accounts for different types of payments, such as connecting a payment system or adding cash payment options.
The tools for managing accounts are located in the "Accounts" subsection under "Payments." Existing payment accounts are listed in the general list. Below is a form for creating new payment accounts.
Types of Payment Accounts
Currently, there are several types of payment accounts available in the system.
Stripe
The OneEntry Platform supports integration with the Stripe payment system. Choose this type if you want to connect the Stripe payment system to your project. More details on connecting Stripe to the OneEntry Platform can be found here.
Midtrans
The OneEntry Platform supports integration with the Indonesian payment system Midtrans. More details on connecting Midtrans can be found here.
Xendit
The OneEntry Platform supports integration with the Xendit payment system. More details on connecting Xendit can be found here.
Custom
If you want to use a different payment system or accept cash payments, use this type of payment account.
Creating a Payment Account
In the payment account creation form, specify:
- Name - A non-unique string
- Type - A value from the dropdown list. Accounts with types Stripe, Midtrans, and Xendit can only be created one per project; there can be an unlimited number of accounts with the Custom type.
- Token - A unique string.
After filling out the form, click the "Add" button. If all fields are filled out correctly, the payment account will be created and added to the general list.
Editing a Payment Account
Select the payment account you want to edit from the list and click the edit icon .
In edit mode, you can change:
- Name
- Type
- Token
For Stripe, Midtrans, and Xendit accounts, there are also settings for connecting to the payment system in edit mode. These are described on the pages Stripe, Midtrans, and Xendit.
Changes will be saved automatically.
Custom Parameters for Payment API
For flexible integration with various payment systems (such as PayPal, Stripe, and others), you can add custom parameters specific to a particular API to the payment account.
These parameters are passed as key-value pairs when initializing a payment session. For example, the PayPal Orders API often requires fields such as purchase_units, intent, application_context.return_url, or payer.email_address, while Stripe uses different parameters, such as mode, line_items, etc.
How It Works
In addition to the basic fields (Name, Type, Token), you will see a table titled "Custom Parameters for Payment API." The table displays sets of attributes from the Settings → Attributes section. The table allows you to establish a correspondence between:
- Token (The name of the parameter in the API) (for example,
purchase_unitsfor PayPal orline_itemsfor Stripe) - Value, which will be substituted when creating the payment
To set a value, you need to open the editing of the set by clicking the button . Then select the required attribute from the pre-configured set and enter the necessary value according to the attribute type.
⚠️ Important: The sets of attributes and their contents are configured separately and can include fields of different types: string, number, boolean, JSON, etc.
Example of Use with PayPal Suppose you want to pass order details to PayPal through the purchase_units field. You create an attribute set called "PayPal Purchase Unit," add an attribute items of type JSON, containing a structure like this:
{
"invoice_id": "90210",
"amount": {
"currency_code": "USD",
"value": "230.00",
"breakdown": {
"item_total": {
"currency_code": "USD",
"value": "220.00"
},
"shipping": {
"currency_code": "USD",
"value": "10.00"
}
}
},
"items": [
{
"name": "T-Shirt",
"description": "Super Fresh Shirt",
"unit_amount": {
"currency_code": "USD",
"value": "20.00"
},
"quantity": "1",
"category": "PHYSICAL_GOODS",
"sku": "sku01",
"image_url": "https://example.com/static/images/items/1/tshirt_green.jpg",
"url": "https://example.com/url-to-the-item-being-purchased-1",
"upc": {
"type": "UPC-A",
"code": "123456789012"
}
},
{
"name": "Shoes",
"description": "Running, Size 10.5",
"sku": "sku02",
"unit_amount": {
"currency_code": "USD",
"value": "100.00"
},
"quantity": "2",
"category": "PHYSICAL_GOODS",
"image_url": "https://example.com/static/images/items/1/shoes_running.jpg",
"url": "https://example.com/url-to-the-item-being-purchased-2",
"upc": {
"type": "UPC-A",
"code": "987654321012"
}
}
]
}
Then, in the payment account settings, you link:
Key: purchase_units Value: the items attribute from the "PayPal Purchase Unit" set When creating an order, the system will automatically substitute the current value of this attribute into the request body to the PayPal API.
Other commonly used PayPal parameters:
intent — for example, "CAPTURE" or "AUTHORIZE" application_context.return_url — URL for return after successful payment application_context.cancel_url — URL for canceling the payment
This mechanism allows you to adapt payment integrations to the requirements of external APIs.
Hiding a Payment Account
If you no longer want to use a payment account and cannot delete it because it is already in use in the project, you can hide it.
To do this, click the "eye" icon on the selected account.
Hidden payment accounts will not be offered by the system for selection when setting up the order storage.
Deleting a Payment Account
Select the payment account you want to delete from the list and click the delete icon .
Confirm the action in the dialog box. After that, the payment account will be deleted and will disappear from the general list.