public static async Task <Agreement> CancelBillingAgreement(string agreementId) { var client = PayPalConfiguration.GetClient(); AgreementCancelRequest request = new AgreementCancelRequest(agreementId); request.RequestBody(new AgreementStateDescriptor { Note = "Cancelling the agreement" }); try { HttpResponse response = await client.Execute(request); var statusCode = response.StatusCode; return(response.Result <Agreement>()); } catch (HttpException httpException) { var statusCode = httpException.StatusCode; var debugId = httpException.Headers.GetValues("PayPal-Debug-Id").FirstOrDefault(); throw httpException; } }
private async Task TellPayPalToCancelSubscription(string payPalAgreement) { try { var client = _clientFactory.GetClient(); var requestForPayPalAgreement = new AgreementGetRequest(payPalAgreement); var result = await client.Execute(requestForPayPalAgreement); var agreement = result.Result <Agreement>(); var request = new AgreementCancelRequest(payPalAgreement).RequestBody(new AgreementStateDescriptor() { Note = "Cancelled" }); await client.Execute(request); } catch (Exception ex) { // save error in the database. PaypalErrors payPalReturnedError = new PaypalErrors() { Exception = ex.Message, DateTime = DateTime.Now }; this._dbContext.PaypalErrors.Add(payPalReturnedError); await this._dbContext.SaveChangesAsync(); } }
public async Task <IActionResult> Cancel(string id) { var client = _clientFactory.GetClient(); var request = new AgreementCancelRequest(id).RequestBody(new AgreementStateDescriptor() { Note = "Cancelled" }); await client.Execute(request); return(RedirectToAction("Details", new { id = id })); }
private async Task TellPayPalToCancelSubscription(string payPalAgreement) { try { var client = _clientFactory.GetClient(); var requestForPayPalAgreement = new AgreementGetRequest(payPalAgreement); var result = await client.Execute(requestForPayPalAgreement); var agreement = result.Result <Agreement>(); var request = new AgreementCancelRequest(payPalAgreement).RequestBody(new AgreementStateDescriptor() { Note = "Cancelled" }); await client.Execute(request); var message = $"PayPal has been notified to cancel Subscription :{agreement.Id} for the package : {agreement.Description} under {agreement.Name}."; var subject = $"PayPal has been notified to Cancel Subscription :{agreement.Id}"; await EmailAdmin(message, subject); //await EmailSuperAdmin("Notify PayPal to Cancel Subscription SUCCESS", "Notify PayPal to Cancel Subscription SUCCESS"); } catch (Exception ex) { // save error in the database. PaypalErrors payPalReturnedError = new PaypalErrors() { Exception = ex.Message, DateTime = DateTime.Now }; _dbcontext.PaypalErrors.Add(payPalReturnedError); await _dbcontext.SaveChangesAsync(); await EmailSuperAdmin($"Notify PayPal ({payPalAgreement}) to Cancel Subscription Failed", "Notify PayPal to Cancel Subscription Failed"); } }