I want to create payment in backend, it becaume Paid but not capture funds, invoice Authorize
var cashProvider = MerchelloContext.Current.Gateways.Payment.GetProviderByKey(Merchello.Core.Constants.ProviderKeys.Payment.CashPaymentProviderKey);
var gatewayProviderService = MerchelloContext.Current.Services.GatewayProviderService;
var payment = gatewayProviderService.GetPaymentsForInvoice(invoice.Key).First();
var paymentContext = MerchelloContext.Current.Gateways.Payment;
var paymentMethod = paymentContext.GetPaymentGatewayMethodByKey(new Guid("101bf1d2-45c0-45ff-986e-3b67fe8b5177"));
if (cashProvider != null)
{
var cash = cashProvider.PaymentMethods.FirstOrDefault();
var attempt = invoice.CapturePayment(payment, paymentMethod, invoice.Total);
if (!attempt.Payment.Success)
{
// handle the error
}
var approved = attempt.ApproveOrderCreation;
if (approved)
{
var order = invoice.PrepareOrder();
MerchelloContext.Current.Services.OrderService.Save(order);
}
}
Capture funds on backend
I want to create payment in backend, it becaume Paid but not capture funds, invoice Authorize
is working on a reply...