up
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user