klarna as global
Some checks failed
Build and Publish / BuildAndDeploy (push) Successful in 3m19s
Build and Publish / BuildAndDeployAmd64 (push) Has been cancelled

This commit is contained in:
matst80
2025-04-18 20:58:18 +02:00
parent 6c2328495b
commit 19bbf32e68
3 changed files with 33 additions and 22 deletions

View File

@@ -1,6 +1,7 @@
package main
import (
"bytes"
"encoding/json"
"fmt"
"log"
@@ -469,7 +470,26 @@ func (c *CartGrain) HandleMessage(message *Message, isReplay bool) (*FrameWithPa
if err != nil {
return nil, err
}
result := MakeFrameWithPayload(RemoteCreateOrderReply, 200, orderPayload)
var klarnaOrder *CheckoutOrder
if c.OrderReference != "" {
klarnaOrder, err = KlarnaInstance.UpdateOrder(c.OrderReference, bytes.NewReader(orderPayload))
} else {
klarnaOrder, err = KlarnaInstance.GetOrder(c.OrderReference)
}
if nil != err {
return nil, err
}
c.OrderReference = klarnaOrder.ID
c.PaymentStatus = klarnaOrder.Status
orderData, err := json.Marshal(klarnaOrder)
if nil != err {
return nil, err
}
result := MakeFrameWithPayload(RemoteCreateOrderReply, 200, orderData)
return &result, nil
}
case OrderCompletedType: