fixed tg message #410

Merged
tech merged 1 commits from tg-409 into main 2026-02-04 12:31:30 +00:00
4 changed files with 16 additions and 31 deletions

View File

@@ -556,22 +556,6 @@ func paymentRecordFromIntent(intent *model.PaymentGatewayIntent, confirmReq *mod
return record return record
} }
func intentFromPayment(record *storagemodel.PaymentRecord) *model.PaymentGatewayIntent {
if record == nil {
return nil
}
return &model.PaymentGatewayIntent{
PaymentRef: strings.TrimSpace(record.PaymentRef),
PaymentIntentID: strings.TrimSpace(record.PaymentIntentID),
IdempotencyKey: strings.TrimSpace(record.IdempotencyKey),
OutgoingLeg: strings.TrimSpace(record.OutgoingLeg),
QuoteRef: strings.TrimSpace(record.QuoteRef),
IntentRef: strings.TrimSpace(record.IntentRef),
OperationRef: strings.TrimSpace(record.OperationRef),
RequestedMoney: record.RequestedMoney,
}
}
func intentFromSubmitTransfer(req *chainv1.SubmitTransferRequest, defaultRail, defaultChatID string) (*model.PaymentGatewayIntent, error) { func intentFromSubmitTransfer(req *chainv1.SubmitTransferRequest, defaultRail, defaultChatID string) (*model.PaymentGatewayIntent, error) {
if req == nil { if req == nil {
return nil, merrors.InvalidArgument("submit_transfer: request is required") return nil, merrors.InvalidArgument("submit_transfer: request is required")

View File

@@ -2,6 +2,7 @@ package notificationimp
import ( import (
"context" "context"
"fmt"
"regexp" "regexp"
"strconv" "strconv"
"strings" "strings"
@@ -366,22 +367,24 @@ func parseConfirmationReply(text string) (*paymenttypes.Money, string, error) {
func confirmationPrompt(req *model.ConfirmationRequest) string { func confirmationPrompt(req *model.ConfirmationRequest) string {
var builder strings.Builder var builder strings.Builder
builder.WriteString("Payment confirmation required\n") builder.WriteString("Payment confirmation required\n")
if req.PaymentIntentID != "" {
builder.WriteString("Payment intent: ")
builder.WriteString(req.PaymentIntentID)
builder.WriteString("\n")
}
if req.QuoteRef != "" { if req.QuoteRef != "" {
builder.WriteString("Quote ref: ") builder.WriteString("Quote ref: ")
builder.WriteString(req.QuoteRef) builder.WriteString(req.QuoteRef)
builder.WriteString("\n") builder.WriteString("\n")
} }
if req.RequestedMoney != nil { if req.RequestedMoney != nil {
builder.WriteString("Requested: ") amountFloat, err := strconv.ParseFloat(req.RequestedMoney.Amount, 64)
builder.WriteString(req.RequestedMoney.Amount) if err != nil {
builder.WriteString(" ") amountFloat = 0
builder.WriteString(req.RequestedMoney.Currency) }
builder.WriteString("\n")
amount := fmt.Sprintf("%.2f", amountFloat)
builder.WriteString(fmt.Sprintf(
"\n*Requested: %s %s*\n\n",
amount,
req.RequestedMoney.Currency,
))
} }
builder.WriteString("Reply with \"<amount> <currency>\" (e.g., 12.34 USD).") builder.WriteString("Reply with \"<amount> <currency>\" (e.g., 12.34 USD).")
return builder.String() return builder.String()

View File

@@ -257,7 +257,6 @@ func (s *Service) submitCardFundingTransfers(ctx context.Context, payment *model
updateExecutionPlanTotalNetworkFee(plan) updateExecutionPlanTotalNetworkFee(plan)
} }
s.logger.Warn("Request", zap.Any("intent", intent))
fundResp, err := chainClient.SubmitTransfer(ctx, &chainv1.SubmitTransferRequest{ fundResp, err := chainClient.SubmitTransfer(ctx, &chainv1.SubmitTransferRequest{
IdempotencyKey: payment.IdempotencyKey + ":card:fund", IdempotencyKey: payment.IdempotencyKey + ":card:fund",
OrganizationRef: payment.OrganizationRef.Hex(), OrganizationRef: payment.OrganizationRef.Hex(),

View File

@@ -53,13 +53,12 @@ func (p *paymentExecutor) buildProviderSettlementTransferRequest(payment *model.
if strings.TrimSpace(metadata[providerSettlementMetaOutgoingLeg]) == "" { if strings.TrimSpace(metadata[providerSettlementMetaOutgoingLeg]) == "" {
metadata[providerSettlementMetaOutgoingLeg] = strings.ToLower(strings.TrimSpace(string(step.Rail))) metadata[providerSettlementMetaOutgoingLeg] = strings.ToLower(strings.TrimSpace(string(step.Rail)))
} }
sourceAmount := resolveDebitAmount(payment, quote, payment.Intent.Amount) if amount != nil {
if sourceAmount != nil {
if strings.TrimSpace(metadata[providerSettlementMetaSourceAmount]) == "" { if strings.TrimSpace(metadata[providerSettlementMetaSourceAmount]) == "" {
metadata[providerSettlementMetaSourceAmount] = strings.TrimSpace(sourceAmount.Amount) metadata[providerSettlementMetaSourceAmount] = strings.TrimSpace(amount.Amount)
} }
if strings.TrimSpace(metadata[providerSettlementMetaSourceCurrency]) == "" { if strings.TrimSpace(metadata[providerSettlementMetaSourceCurrency]) == "" {
metadata[providerSettlementMetaSourceCurrency] = strings.TrimSpace(sourceAmount.Currency) metadata[providerSettlementMetaSourceCurrency] = strings.TrimSpace(amount.Currency)
} }
} }