Create a payment sheet PaymentIntent

POST/events/:eventId/tickets/:ticketId/payment-intent

Create a PaymentIntent so a mobile app can charge through the Stripe payment sheet. Like prepaid checkout, survey answers and profile fields are stored first and inventory is held for a limited time. Entries are created by the payment-completed webhook.

AuthLogin required

Path parameters

eventIdstringrequired

Event ID or slug.

ticketIdstringrequired

Ticket type ID.

Request body

quantitynumber

Number of tickets (default 1). Survey answers and profile fields are not required when buying more than one.

questionAnswersobject[]

Array of survey answers; each element has questionId (required) and answer (array of strings).

profileAnswersobject

Profile fields collected at registration.

invitationCodestring

Referral code; exactly 8 characters. Any discount is applied to the amount.

joinCommunityIdsstring[]

IDs of organizer communities to join along with the purchase.

Response

FieldTypeDescription
publishableKeystringStripe publishable key for initializing the payment sheet.
paymentIntentClientSecretstringThe PaymentIntent client secret.
customerIdstringStripe customer ID.
ephemeralKeySecretstringEphemeral key for the customer, used by the payment sheet to save payment methods.
stripeAccountIdstringConnected account ID; present only for Connect payments.
amountnumberThe amount charged, in JPY (tax inclusive).
amountSubtotalnumberList price total before discounts, in JPY.
Request
curl https://api.4s.link/events/EVENT_ID/tickets/TICKET_ID/payment-intent \
-X POST \
-H "Authorization: Bearer 4s_at_..." \
-H "Content-Type: application/json" \
-d '{
"quantity": 1,
"questionAnswers": [
{ "questionId": "q1a2b3c4-...", "answer": ["情報収集のため"] }
]
}'
Example response
{
"publishableKey": "pk_test_...",
"paymentIntentClientSecret": "pi_..._secret_...",
"customerId": "cus_...",
"ephemeralKeySecret": "ek_test_...",
"amount": 5000,
"amountSubtotal": 5000
}