コード例 #1
0
        private IGatewayResponse SendCancelSubscriptionRequest(AuthorizeDotNetRequest request)
        {
            var result = string.Empty;
            IGatewayResponse gatewayResponse;

            var authentication = new MerchantAuthenticationType();

            authentication.name           = request.KeyValues[AuthorizeDotNetApi.ApiLogin];
            authentication.transactionKey = request.KeyValues[AuthorizeDotNetApi.TransactionKey];

            string id = request.KeyValues[AuthorizeDotNetApi.SubscriptionID];

            using (var webService = new RevStack.AuthorizeDotNet.net.authorize.api.Service())
            {
                webService.Url = request.PostUrl;
                ARBCancelSubscriptionResponseType response = webService.ARBCancelSubscription(authentication, long.Parse(id), null);
                char           del  = request.KeyValues[AuthorizeDotNetApi.DelimitCharacter].ToCharArray()[0];
                IList <string> list = new List <string>();

                for (int i = 0; i < response.messages.Length; i++)
                {
                    result = response.messages[i].text + del;
                    list.Add(response.messages[i].text);
                }

                result          = result.TrimEnd(del);
                gatewayResponse = new GatewayResponse(result, del);
                gatewayResponse.SubscriptionResponse = list;
            }

            return(gatewayResponse);
        }
コード例 #2
0
        /// <summary>
        /// Cancels recurring payment
        /// </summary>
        /// <param name="order">Order</param>
        /// <param name="cancelPaymentResult">Cancel payment result</param>
        public void CancelRecurringPayment(Order order, ref CancelPaymentResult cancelPaymentResult)
        {
            InitSettings();
            MerchantAuthenticationType authentication = PopulateMerchantAuthentication();
            long subscriptionID = 0;

            long.TryParse(cancelPaymentResult.SubscriptionTransactionId, out subscriptionID);
            ARBCancelSubscriptionResponseType response = webService.ARBCancelSubscription(authentication, subscriptionID);

            if (response.resultCode == MessageTypeEnum.Ok)
            {
                //ok
            }
            else
            {
                cancelPaymentResult.Error     = "Error cancelling subscription, please contact customer support. " + GetErrors(response);
                cancelPaymentResult.FullError = "Error cancelling subscription, please contact customer support. " + GetErrors(response);
            }
        }