flip-cohen/mollie.go
2022-05-02 16:30:13 +02:00

43 lines
1.1 KiB
Go

package main
import (
"fmt"
"os"
"github.com/VictorAvelar/mollie-api-go/mollie"
)
var ideal = mollie.PaymentMethod("ideal")
func createMolliePayment(preOrder PreOrder) (mollie.Payment, error) {
amount := preOrder.CalcTotal() + SHIPPING
return mollieClient.Payments.Create(mollie.Payment{
Amount: &mollie.Amount{
Currency: "EUR",
Value: fmt.Sprintf("%.2f", float64(amount)/float64(100)),
},
Description: fmt.Sprintf("Flip Noorman - Love It! | CD x %v + verzendkosten", len(preOrder.Items)),
Method: &ideal,
Metadata: map[string]interface{}{
"preorderID": preOrder.ID,
},
RedirectURL: fmt.Sprintf("%s/%v", config.MollieRedirectURL, preOrder.ID),
WebhookURL: config.MollieWebhook,
})
}
func initMollie() (*mollie.Client, error) {
// API token (`MOLLIE_API_TOKEN`) and the Organization token (`MOLLIE_ORG_TOKEN`)
os.Setenv("MOLLIE_API_TOKEN", config.MollieToken)
apiTokenClient, err := mollie.NewClient(nil, mollie.NewConfig(
config.MollieTesting,
config.MollieToken,
))
if err != nil {
return nil, err
}
return apiTokenClient, nil
}