public async Task <string> SetExpressCheckoutAsync(PaymentRequest request) { PaypalExpress paypal = new PaypalExpress(); using (var ctx = App.GetReadOnlyContext()) { var pedido = ctx.Pedidos.Where(x => x.Estado == EstadoPedido.Pendiente).FirstOrDefault(x => x.ClienteId == request.ClienteId); if (pedido == null) { throw new ArgumentNullException("No existe pedido pendiente de pago para cliente"); } return(await paypal.SetExpressCheckoutAsync(request.GetSetExpressCheckoutRequest(pedido))); } }