relynolli-server/services/validate.go

74 lines
1.6 KiB
Go
Raw Permalink Normal View History

2024-03-15 21:27:45 +03:00
package services
2024-05-03 11:57:53 +03:00
import (
"context"
"log"
"relynolli-server/external/bitrix"
"relynolli-server/external/kassa"
"relynolli-server/storage"
"time"
)
func PaymentValidation() {
ctx := context.Background()
s := storage.NewStorageOrder()
api := bitrix.Initialize()
for {
payments, err := s.GetPayments(ctx)
if err != nil {
panic(err.Error())
}
for _, payment := range *payments {
result, _ := kassa.CheckPayment(payment.ID)
if result == nil {
continue
}
payment.Status = result.Status
if result.Status == "succeeded" {
err := api.ApprovePayment(int(payment.BitrixPayment.ID), 8)
if err != nil {
log.Println(err.Error())
continue
}
}
if result.Status == "canceled" {
err := api.CancelOrder(int(payment.OrderId))
if err != nil {
log.Println(err.Error())
}
}
s.UpdatePayment(ctx, &payment)
time.Sleep(1 * time.Second)
}
time.Sleep(5 * time.Second)
}
}
2024-03-26 02:21:35 +03:00
//
//func YookassaValidate(paymentId string, status string) {
// stmt := fmt.Sprintf(`select t1.order_id as order_id, t2.ID as payment_id from api_youkassa_payment t1 join b_sale_order_payment t2 on t1.order_id = t2.ORDER_ID where t1.payment_id = '%s';`, paymentId)
// db := internal.InitDatabase()
// rows := db.Query(stmt)
//
// var (
// orderId int
// paymentIdBitrix int
// )
//
// rows.Next()
// rows.Scan(&orderId, &paymentIdBitrix)
//
// api := bitrix.Initialize()
// if status == "succeeded" {
// api.ApprovePayment(paymentIdBitrix, 8)
// return
// }
// if status == "canceled" {
// api.CancelOrder(orderId)
// return
// }
// return
//}