When integrating KOMOJU, you will likely interact with Session objects via our API.
In KOMOJU, a session is an optional precursor to a payment. A session is kind of like an invoice that you want a customer to pay. When the customer "completes" the session, a payment is created.
Session contains an amount and currency, as well as a list of payment methods the customer can choose from. Sessions may also contain detailed transaction information, such as an external order number and individual line items that the customer is purchasing.
Our two primary integration types: Hosted Page and Hosted Fields both start out with a session.
Session Statuses
Each session has its own status attribute, which tells you where the session is along its journey.
Session status | Meaning |
---|---|
pending | The session is still awaiting customer action. |
completed | The customer "completed" the session. This typically means a payment was created and either authorized or captured. For customer-mode sessions, this means the session's customer is now populated with payment details. |
cancelled | The session was cancelled by the merchant hitting our /sessions/{id}/cancel endpoint. |
Session Modes
By default, all sessions are in "payment" mode. This means the user uses the session to create a Payment. Alternatively, you can use sessions to create customer objects as well.
curl -X POST https://komoju.com/api/v1/sessions \
--user 'sk_live_xxxxxxxxxxxxx:' \
--data amount=1000 \
--data currency=JPY \
--data mode=payment
Session mode | Meaning |
---|---|
payment | The default. Customer uses session to create a payment. |
customer | Alternative session mode where a Customer resource is created instead of a payment. This customer resource can be used to perform delayed billing, or subscriptions. |
customer_payment | The session when completed creates both a customer and a payment at the same time. This can be convenient if you want to charge money upfront and save payment details for next time all in one go. |