protected void Submit_Click(object sender, EventArgs e) { // Create request object ManageRecurringPaymentsProfileStatusRequestType request = new ManageRecurringPaymentsProfileStatusRequestType(); ManageRecurringPaymentsProfileStatusRequestDetailsType details = new ManageRecurringPaymentsProfileStatusRequestDetailsType(); request.ManageRecurringPaymentsProfileStatusRequestDetails = details; details.ProfileID = profileId.Value; details.Action = (StatusChangeActionType) Enum.Parse(typeof(StatusChangeActionType), action.SelectedValue); if (note.Value != "") { details.Note = note.Value; } // Invoke the API ManageRecurringPaymentsProfileStatusReq wrapper = new ManageRecurringPaymentsProfileStatusReq(); wrapper.ManageRecurringPaymentsProfileStatusRequest = request; PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService(); ManageRecurringPaymentsProfileStatusResponseType manageProfileStatusResponse = service.ManageRecurringPaymentsProfileStatus(wrapper); // Check for API return status setKeyResponseObjects(service, manageProfileStatusResponse); }
protected void Submit_Click(object sender, EventArgs e) { // Create request object ManageRecurringPaymentsProfileStatusRequestType request = new ManageRecurringPaymentsProfileStatusRequestType(); ManageRecurringPaymentsProfileStatusRequestDetailsType details = new ManageRecurringPaymentsProfileStatusRequestDetailsType(); request.ManageRecurringPaymentsProfileStatusRequestDetails = details; // (Required) Recurring payments profile ID returned in the CreateRecurringPaymentsProfile response. details.ProfileID = profileId.Value; // (Required) The action to be performed to the recurring payments profile. Must be one of the following: // * Cancel – Only profiles in Active or Suspended state can be canceled. // * Suspend – Only profiles in Active state can be suspended. // * Reactivate – Only profiles in a suspended state can be reactivated. details.Action = (StatusChangeActionType) Enum.Parse(typeof(StatusChangeActionType), action.SelectedValue); // (Optional) The reason for the change in status. For profiles created using Express Checkout, this message is included in the email notification to the buyer when the status of the profile is successfully changed, and can also be seen by both you and the buyer on the Status History page of the PayPal account. if (note.Value != string.Empty) { details.Note = note.Value; } // Invoke the API ManageRecurringPaymentsProfileStatusReq wrapper = new ManageRecurringPaymentsProfileStatusReq(); wrapper.ManageRecurringPaymentsProfileStatusRequest = request; // Configuration map containing signature credentials and other required configuration. // For a full list of configuration parameters refer in wiki page // [https://github.com/paypal/sdk-core-dotnet/wiki/SDK-Configuration-Parameters] Dictionary<string, string> configurationMap = Configuration.GetAcctAndConfig(); // Create the PayPalAPIInterfaceServiceService service object to make the API call PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService(configurationMap); // # API call // Invoke the ManageRecurringPaymentsProfileStatus method in service wrapper object ManageRecurringPaymentsProfileStatusResponseType manageProfileStatusResponse = service.ManageRecurringPaymentsProfileStatus(wrapper); // Check for API return status setKeyResponseObjects(service, manageProfileStatusResponse); }
/// <summary> /// Cancels a recurring payment /// </summary> /// <param name="cancelPaymentRequest">Request</param> /// <returns>Result</returns> public CancelRecurringPaymentResult CancelRecurringPayment(CancelRecurringPaymentRequest cancelPaymentRequest) { var result = new CancelRecurringPaymentResult(); var order = cancelPaymentRequest.Order; var req = new ManageRecurringPaymentsProfileStatusReq(); req.ManageRecurringPaymentsProfileStatusRequest = new ManageRecurringPaymentsProfileStatusRequestType(); req.ManageRecurringPaymentsProfileStatusRequest.Version = GetApiVersion(); var details = new ManageRecurringPaymentsProfileStatusRequestDetailsType(); req.ManageRecurringPaymentsProfileStatusRequest.ManageRecurringPaymentsProfileStatusRequestDetails = details; details.Action = StatusChangeActionType.CANCEL; //Recurring payments profile ID returned in the CreateRecurringPaymentsProfile response details.ProfileID = order.SubscriptionTransactionId; var service = GetService(); var response = service.ManageRecurringPaymentsProfileStatus(req); string error; if (!PaypalHelper.CheckSuccess(response, out error)) { result.AddError(error); } return result; }