This commit is contained in:
Lizandro Guarnizo
2026-05-12 20:41:50 -05:00
parent d9d24c43d7
commit 217e1b550f
4 changed files with 28 additions and 22 deletions
+9 -8
View File
@@ -172,23 +172,24 @@ type BoldLinkStatus struct {
// CheckBoldLinkStatus consulta la API de Bold y devuelve el status del link.
// Posibles valores: ACTIVE, PROCESSING, PAID, REJECTED, CANCELLED, EXPIRED.
func CheckBoldLinkStatus(cfg *models.BoldConfig, linkID string) (status string, transactionID string, err error) {
func CheckBoldLinkStatus(cfg *models.BoldConfig, linkID string) (status string, transactionID string, monto int64, err error) {
raw, err := GetBoldPaymentLinkStatus(cfg, linkID)
if err != nil {
return "", "", err
return "", "", 0, err
}
var result BoldLinkStatus
if err := json.Unmarshal(raw, &result); err != nil {
return "", "", fmt.Errorf("bold: parse link status: %w", err)
return "", "", 0, fmt.Errorf("bold: parse link status: %w", err)
}
return result.Status, result.TransactionID, nil
return result.Status, result.TransactionID, result.Total, nil
}
// CheckBoldLinkPaid es un wrapper de compatibilidad sobre CheckBoldLinkStatus.
func CheckBoldLinkPaid(cfg *models.BoldConfig, linkID string) (bool, string, error) {
st, txID, err := CheckBoldLinkStatus(cfg, linkID)
// Devuelve (pagado, transactionID, monto, error).
func CheckBoldLinkPaid(cfg *models.BoldConfig, linkID string) (bool, string, int64, error) {
st, txID, monto, err := CheckBoldLinkStatus(cfg, linkID)
if err != nil {
return false, "", err
return false, "", 0, err
}
return st == "PAID" || st == "APPROVED", txID, nil
return st == "PAID" || st == "APPROVED", txID, monto, nil
}