Fix payment status update parameter typing for ArifPay verification.
Use explicit SQL casts and named sqlc args to avoid PostgreSQL 42P08 ambiguity during nonce/session status updates, and align repository bindings with regenerated sqlc types. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
d225b45166
commit
853bd730bb
|
|
@ -46,22 +46,22 @@ WHERE id = $2;
|
|||
-- name: UpdatePaymentStatusBySessionID :exec
|
||||
UPDATE payments
|
||||
SET
|
||||
status = $1,
|
||||
transaction_id = COALESCE($2, transaction_id),
|
||||
payment_method = COALESCE($3, payment_method),
|
||||
paid_at = CASE WHEN $1 = 'SUCCESS' THEN CURRENT_TIMESTAMP ELSE paid_at END,
|
||||
status = sqlc.arg(status)::varchar,
|
||||
transaction_id = COALESCE(sqlc.arg(transaction_id)::text, transaction_id),
|
||||
payment_method = COALESCE(sqlc.arg(payment_method)::text, payment_method),
|
||||
paid_at = CASE WHEN sqlc.arg(status)::varchar = 'SUCCESS' THEN CURRENT_TIMESTAMP ELSE paid_at END,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE session_id = $4;
|
||||
WHERE session_id = sqlc.arg(session_id)::text;
|
||||
|
||||
-- name: UpdatePaymentStatusByNonce :exec
|
||||
UPDATE payments
|
||||
SET
|
||||
status = $1,
|
||||
transaction_id = COALESCE($2, transaction_id),
|
||||
payment_method = COALESCE($3, payment_method),
|
||||
paid_at = CASE WHEN $1 = 'SUCCESS' THEN CURRENT_TIMESTAMP ELSE paid_at END,
|
||||
status = sqlc.arg(status)::varchar,
|
||||
transaction_id = COALESCE(sqlc.arg(transaction_id)::text, transaction_id),
|
||||
payment_method = COALESCE(sqlc.arg(payment_method)::text, payment_method),
|
||||
paid_at = CASE WHEN sqlc.arg(status)::varchar = 'SUCCESS' THEN CURRENT_TIMESTAMP ELSE paid_at END,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE nonce = $4;
|
||||
WHERE nonce = sqlc.arg(nonce)::text;
|
||||
|
||||
-- name: UpdatePaymentSessionID :exec
|
||||
UPDATE payments
|
||||
|
|
|
|||
|
|
@ -432,19 +432,19 @@ func (q *Queries) UpdatePaymentStatus(ctx context.Context, arg UpdatePaymentStat
|
|||
const UpdatePaymentStatusByNonce = `-- name: UpdatePaymentStatusByNonce :exec
|
||||
UPDATE payments
|
||||
SET
|
||||
status = $1,
|
||||
transaction_id = COALESCE($2, transaction_id),
|
||||
payment_method = COALESCE($3, payment_method),
|
||||
paid_at = CASE WHEN $1 = 'SUCCESS' THEN CURRENT_TIMESTAMP ELSE paid_at END,
|
||||
status = $1::varchar,
|
||||
transaction_id = COALESCE($2::text, transaction_id),
|
||||
payment_method = COALESCE($3::text, payment_method),
|
||||
paid_at = CASE WHEN $1::varchar = 'SUCCESS' THEN CURRENT_TIMESTAMP ELSE paid_at END,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE nonce = $4
|
||||
WHERE nonce = $4::text
|
||||
`
|
||||
|
||||
type UpdatePaymentStatusByNonceParams struct {
|
||||
Status string `json:"status"`
|
||||
TransactionID pgtype.Text `json:"transaction_id"`
|
||||
PaymentMethod pgtype.Text `json:"payment_method"`
|
||||
Nonce string `json:"nonce"`
|
||||
Status string `json:"status"`
|
||||
TransactionID string `json:"transaction_id"`
|
||||
PaymentMethod string `json:"payment_method"`
|
||||
Nonce string `json:"nonce"`
|
||||
}
|
||||
|
||||
func (q *Queries) UpdatePaymentStatusByNonce(ctx context.Context, arg UpdatePaymentStatusByNonceParams) error {
|
||||
|
|
@ -460,19 +460,19 @@ func (q *Queries) UpdatePaymentStatusByNonce(ctx context.Context, arg UpdatePaym
|
|||
const UpdatePaymentStatusBySessionID = `-- name: UpdatePaymentStatusBySessionID :exec
|
||||
UPDATE payments
|
||||
SET
|
||||
status = $1,
|
||||
transaction_id = COALESCE($2, transaction_id),
|
||||
payment_method = COALESCE($3, payment_method),
|
||||
paid_at = CASE WHEN $1 = 'SUCCESS' THEN CURRENT_TIMESTAMP ELSE paid_at END,
|
||||
status = $1::varchar,
|
||||
transaction_id = COALESCE($2::text, transaction_id),
|
||||
payment_method = COALESCE($3::text, payment_method),
|
||||
paid_at = CASE WHEN $1::varchar = 'SUCCESS' THEN CURRENT_TIMESTAMP ELSE paid_at END,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE session_id = $4
|
||||
WHERE session_id = $4::text
|
||||
`
|
||||
|
||||
type UpdatePaymentStatusBySessionIDParams struct {
|
||||
Status string `json:"status"`
|
||||
TransactionID pgtype.Text `json:"transaction_id"`
|
||||
PaymentMethod pgtype.Text `json:"payment_method"`
|
||||
SessionID pgtype.Text `json:"session_id"`
|
||||
Status string `json:"status"`
|
||||
TransactionID string `json:"transaction_id"`
|
||||
PaymentMethod string `json:"payment_method"`
|
||||
SessionID string `json:"session_id"`
|
||||
}
|
||||
|
||||
func (q *Queries) UpdatePaymentStatusBySessionID(ctx context.Context, arg UpdatePaymentStatusBySessionIDParams) error {
|
||||
|
|
|
|||
|
|
@ -119,17 +119,17 @@ func (s *Store) UpdatePaymentStatus(ctx context.Context, id int64, status string
|
|||
func (s *Store) UpdatePaymentStatusBySessionID(ctx context.Context, sessionID, status, transactionID, paymentMethod string) error {
|
||||
return s.queries.UpdatePaymentStatusBySessionID(ctx, dbgen.UpdatePaymentStatusBySessionIDParams{
|
||||
Status: status,
|
||||
TransactionID: toPgText(&transactionID),
|
||||
PaymentMethod: toPgText(&paymentMethod),
|
||||
SessionID: toPgText(&sessionID),
|
||||
TransactionID: transactionID,
|
||||
PaymentMethod: paymentMethod,
|
||||
SessionID: sessionID,
|
||||
})
|
||||
}
|
||||
|
||||
func (s *Store) UpdatePaymentStatusByNonce(ctx context.Context, nonce, status, transactionID, paymentMethod string) error {
|
||||
return s.queries.UpdatePaymentStatusByNonce(ctx, dbgen.UpdatePaymentStatusByNonceParams{
|
||||
Status: status,
|
||||
TransactionID: toPgText(&transactionID),
|
||||
PaymentMethod: toPgText(&paymentMethod),
|
||||
TransactionID: transactionID,
|
||||
PaymentMethod: paymentMethod,
|
||||
Nonce: nonce,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user