Authorize and pre-register a backend-owned reservation payment obligation
POST
/reservation-payment-pre-registrations
const url = 'https://example.com/reservation-payment-pre-registrations';const options = { method: 'POST', headers: { 'Idempotency-Key': 'example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"paymentId":"example","cashReceiptIssueRequest":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/reservation-payment-pre-registrations \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --data '{ "paymentId": "example", "cashReceiptIssueRequest": "example" }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Idempotency-Key
required
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
PreRegisterReservationPaymentRequest
object
paymentId
required
string
cashReceiptIssueRequest
required
object
requestState
required
string
purpose
required
string
registrationIdentityReference
required
string | null
key
additional properties
key
additional properties
Responses
Section titled “Responses”Payment obligation, actor, fee, and cash-receipt policy snapshots pre-registered
Media typeapplication/json
ReservationPaymentPreRegistrationResponse
object
reservationBookingId
required
string
paymentId
required
string
paymentMethod
required
string
paymentPurpose
required
string
amountKrw
required
integer
paymentProductPlanCode
required
string
providerFeeSnapshot
required
object
providerRoutingKey
required
string
settlementParticipation
required
string
ledgerRecognitionTiming
required
string
feeRecognitionBasis
required
string
settlementLineTargets
required
Array<string>
freezesCustomerVisibleAmountAfterPayment
required
boolean
laterCatalogChangesCanAlterExposedResult
required
boolean
methodFeeQuote
required
object
bucket
required
string
displayMethodName
required
string
amountKrw
required
integer
feeAmountKrw
required
integer
rateBasisPoints
required
integer
key
additional properties
key
additional properties
paymentActorSnapshot
required
object
paymentActorSnapshotId
required
string
actorUserId
required
string
actorMemberId
required
string
actorKind
required
string
motherUserId
required
string
motherMemberId
required
string
branchProfileId
required
string
familyAccountId
required
string | null
paymentDelegationId
required
string | null
paymentDelegationRevision
required
integer | null
paymentDelegationScope
required
string | null
maximumAuthorizedAmountKrw
required
integer | null
authorityEvidence
required
Array<string>
idempotencyKey
required
string
authorizedAt
required
string format: date-time
key
additional properties
cashReceiptEligibilitySnapshot
required
object
cashReceiptEligibilitySnapshotId
required
string
paymentId
required
string
paymentProductPlanCode
required
string
obligationPurpose
required
string
requestState
required
string
requestedPurpose
required
string
registrationIdentityReference
required
string | null
decisionState
required
string
merchantOfRecord
required
string
collectionChannel
required
string
receiptIssuer
required
string
acceptedPurpose
required
string | null
denialReasonCode
required
string | null
providerIssueAllowed
required
boolean
decidedAt
required
string format: date-time
key
additional properties
preRegistrationStatus
required
string
gatewayCode
required
string | null
gatewayMessage
required
string | null
key
additional properties
Supabase bearer token is required
Actor lacks payment authority in Supabase or SpiceDB
Backend-owned payment obligation was not found
Payment obligation or idempotency facts conflict
Reservation payment pre-registration runtime is unavailable