/// <summary> /// Create subscribtion for customer /// if no card id specfied then an email will be sent to user to add payment /// </summary> /// <param name="customerHandle">customer id</param> /// <param name="planHandle">plan id</param> /// <param name="cardToken">cardtoken</param> /// <param name="couponCodes">Coupon codes</param> /// <returns>subscription data</returns> public ApiResponse <Subscription> CreateSubscription(string customerHandle, string planHandle, string cardToken, List <string> couponCodes) { const bool generateSubshandle = true; var myClassname = MethodBase.GetCurrentMethod().Name; var config = this.GetDefaultApiConfiguration(); var api = new SubscriptionApi(config); var signupMethod = string.IsNullOrEmpty(cardToken) ? "email" : "card_token"; var subscription = new CreateSubscription(customerHandle, planHandle, null, null, this._reepayTestFlag, null, null, signupMethod, null, null, null, null, generateSubshandle, null, null, null, cardToken, null, null, couponCodes); for (var i = 0; i <= MaxNoOfRetries; i++) { try { var res = api.CreateSubscriptionJsonWithHttpInfo(subscription); if (res.StatusCode != (int)HttpStatusCode.OK) { this._log.Error($"Unexpected answer from reepay. {myClassname} Errorcode {res.StatusCode}"); } return(res); } catch (ApiException apiException) { this._log.Error($"{myClassname} {apiException.ErrorCode} {apiException.ErrorContent}"); return(new ApiResponse <Subscription>(apiException.ErrorCode, null, null)); } catch (Exception) when(i < MaxNoOfRetries) { this._log.Debug($"{myClassname} retry attempt {i}"); } } return(new ApiResponse <Subscription>((int)HttpStatusCode.InternalServerError, null, null)); }
public ANetApiResponse TestCancelSubscription() { var response = (ARBCreateSubscriptionResponse)CreateSubscription.Run(apiLoginId, transactionKey, GetMonth()); return(CancelSubscription.Run(apiLoginId, transactionKey, response.subscriptionId)); }
public Task <bool> SubscribeeFormidling(CreateSubscription subscription) { throw new NotImplementedException(); }
//private static readonly MethodInfo s_getObserverGenericMethod = ((MethodInfo)ReflectionHelpers.InfoOf((IReactiveProxy ctx) => ctx.GetObserver<object>(default(Uri)))).GetGenericMethodDefinition(); protected override Expression <Func <IReactiveProxy, Task> > VisitCreateSubscription(CreateSubscription operation) { var binder = new IdentityAwareBinder(); var boundSubscription = (LambdaExpression)binder.BindSubscription(operation.Expression, operation.TargetObjectUri, operation.State, CancellationToken.None); var parameter = boundSubscription.Parameters[0]; return(Reduce( Expression.Lambda <Func <IReactiveProxy, Task> >( Expression.Convert( boundSubscription.Body, typeof(Task) ), parameter ) )); }
public Dispatcher(CreateSubscription createSubscription) { this.createSubscription = createSubscription; }
public DTO <CreateDTO> CreateSubscription(Models.Input <CreateSubscription> obj) { Models.DTO <CreateDTO> dto = new Models.DTO <CreateDTO>(); CreateDTO resp = new CreateDTO(); dto.objname = "CreateSubscription"; try { /* Check required parameters */ if (string.IsNullOrEmpty(obj.input.msisdn)) { dto.status = new Models.Status(800); return(dto); } if (!(string.IsNullOrEmpty(obj.input.PaymentID))) { obj.input.service = getService(Convert.ToInt32(obj.input.PaymentID)); if (string.IsNullOrEmpty(obj.input.service)) { dto.status = new Status(800); return(dto); } obj.input.app = "InternalService"; obj.input.appuser = "******"; obj.input.username = "******"; obj.input.password = "******"; obj.input.authkey = "testauthkey"; obj.input.trial = "0"; } Authentication ar = new Authentication(); string hash = ar.UserAuth(obj.input.msisdn, obj.input.service); string uri = ConfigurationManager.AppSettings["oneglobalDOB"].ToString(); string url = uri + "/CreateSubscription"; HttpClient client = new HttpClient(); client.BaseAddress = new Uri(url); if (url != null) { try { JavaScriptSerializer jdes = new JavaScriptSerializer(); var reqObj = new CreateSubscription(); reqObj.username = obj.input.username; reqObj.password = obj.input.password; reqObj.authkey = obj.input.authkey; reqObj.service = obj.input.service; reqObj.hash = hash; reqObj.msisdn = obj.input.msisdn; reqObj.pin = obj.input.pin; reqObj.trial = obj.input.trial; reqObj.appuser = "******"; Input <CreateSubscription> inp = new Input <CreateSubscription>(); inp.input = reqObj; client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8"); HttpResponseMessage response = client.PostAsJsonAsync(url, inp).Result; if (response.IsSuccessStatusCode) { if (response != null) { Task <String> ss = response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <Models.DTO <CreateDTO> >(ss.Result); if (result != null) { dto.response = result.response; dto.status = result.status; return(dto); } } } } catch (HttpRequestException e) { Console.WriteLine(e.Message); } } } catch (Exception ex) { dto.status = new Models.Status(1); } return(dto); }
private static void RunMethod(string methodName) { // These are default transaction keys. // You can create your own keys in seconds by signing up for a sandbox account here: https://developer.authorize.net/sandbox/ string apiLoginId = "5KP3u95bQpv"; string transactionKey = "4Ktq966gC55GAX7S"; string transactionAmount; string transactionId = string.Empty; switch (methodName) { case "ValidateCustomerPaymentProfile": ValidateCustomerPaymentProfile.Run(apiLoginId, transactionKey); break; case "UpdateCustomerShippingAddress": UpdateCustomerShippingAddress.Run(apiLoginId, transactionKey); break; case "UpdateCustomerProfile": UpdateCustomerProfile.Run(apiLoginId, transactionKey); break; case "UpdateCustomerPaymentProfile": UpdateCustomerPaymentProfile.Run(apiLoginId, transactionKey); break; case "GetCustomerShippingAddress": GetCustomerShippingAddress.Run(apiLoginId, transactionKey); break; case "GetCustomerProfileIds": GetCustomerProfileIds.Run(apiLoginId, transactionKey); break; case "GetCustomerProfile": GetCustomerProfile.Run(apiLoginId, transactionKey); break; case "GetCustomerPaymentProfile": GetCustomerPaymentProfile.Run(apiLoginId, transactionKey); break; case "DeleteCustomerShippingAddress": DeleteCustomerShippingAddress.Run(apiLoginId, transactionKey); break; case "DeleteCustomerProfile": DeleteCustomerProfile.Run(apiLoginId, transactionKey); break; case "DeleteCustomerPaymentProfile": DeleteCustomerPaymentProfile.Run(apiLoginId, transactionKey); break; case "CreateCustomerShippingAddress": CreateCustomerShippingAddress.Run(apiLoginId, transactionKey); break; case "CreateCustomerProfileFromTransaction": CreateCustomerProfileFromTransaction.Run(apiLoginId, transactionKey); break; case "GetTransactionDetails": GetTransactionDetails.Run(apiLoginId, transactionKey); break; case "GetTransactionList": GetTransactionList.Run(apiLoginId, transactionKey); break; //case "CreateAnApplePayTransaction": // CreateAnApplePayTransaction.Run(apiLoginId, transactionKey); // break; case "DecryptVisaCheckoutData": DecryptVisaCheckoutData.Run(apiLoginId, transactionKey); break; case "CreateVisaCheckoutTransaction": CreateVisaCheckoutTransaction.Run(apiLoginId, transactionKey); break; case "ChargeCreditCard": ChargeCreditCard.Run(apiLoginId, transactionKey); break; case "CaptureOnly": CaptureOnly.Run(apiLoginId, transactionKey); break; case "CapturePreviouslyAuthorizedAmount": Console.WriteLine("Enter An Transaction Amount"); transactionAmount = Console.ReadLine(); Console.WriteLine("Enter An Transaction ID"); transactionId = Console.ReadLine(); CapturePreviouslyAuthorizedAmount.Run(apiLoginId, transactionKey, Convert.ToDecimal(transactionAmount), transactionId); break; case "CaptureFundsAuthorizedThroughAnotherChannel": CaptureFundsAuthorizedThroughAnotherChannel.Run(apiLoginId, transactionKey); break; case "AuthorizeCreditCard": AuthorizeCreditCard.Run(apiLoginId, transactionKey); break; case "Refund": Console.WriteLine("Enter An Transaction Amount"); transactionAmount = Console.ReadLine(); Console.WriteLine("Enter An Transaction ID"); transactionId = Console.ReadLine(); RefundTransaction.Run(apiLoginId, transactionKey, Convert.ToDecimal(transactionAmount), transactionId); break; case "Void": Console.WriteLine("Enter An Transaction ID"); transactionId = Console.ReadLine(); VoidTransaction.Run(apiLoginId, transactionKey, transactionId); break; case "DebitBankAccount": DebitBankAccount.Run(apiLoginId, transactionKey); break; case "CreditBankAccount": Console.WriteLine("Enter An Transaction ID"); transactionId = Console.ReadLine(); CreditBankAccount.Run(apiLoginId, transactionKey, transactionId); break; case "ChargeCustomerProfile": ChargeCustomerProfile.Run(apiLoginId, transactionKey); break; case "ChargeTokenizedCard": ChargeTokenizedCreditCard.Run(apiLoginId, transactionKey); break; case "PayPalVoid": PayPalVoid.Run(apiLoginId, transactionKey, transactionId); break; case "PayPalAuthorizeCapture": PayPalAuthorizeCapture.Run(apiLoginId, transactionKey); break; case "PayPalAuthorizeCaptureContinue": PayPalAuthorizeCaptureContinue.Run(apiLoginId, transactionKey, transactionId); break; case "PayPalAuthorizeOnly": PayPalAuthorizeOnly.Run(apiLoginId, transactionKey); break; case "PayPalAuthorizeOnlyContinue": PayPalAuthorizeCaptureContinue.Run(apiLoginId, transactionKey, transactionId); break; case "PayPalCredit": PayPalCredit.Run(apiLoginId, transactionKey, transactionId); break; case "PayPalGetDetails": PayPalGetDetails.Run(apiLoginId, transactionKey, transactionId); break; case "PayPalPriorAuthorizationCapture": PayPalPriorAuthorizationCapture.Run(apiLoginId, transactionKey, transactionId); break; case "CancelSubscription": CancelSubscription.Run(apiLoginId, transactionKey); break; case "CreateSubscription": CreateSubscription.Run(apiLoginId, transactionKey); break; case "GetSubscriptionList": GetListSubscriptions.Run(apiLoginId, transactionKey); break; case "GetSubscriptionStatus": GetSubscriptionStatus.Run(apiLoginId, transactionKey); break; case "UpdateSubscription": UpdateSubscription.Run(apiLoginId, transactionKey); break; case "CreateCustomerProfile": CreateCustomerProfile.Run(apiLoginId, transactionKey); break; case "CreateCustomerPaymentProfile": CreateCustomerPaymentProfile.Run(apiLoginId, transactionKey); break; case "GetUnsettledTransactionList": GetUnsettledTransactionList.Run(apiLoginId, transactionKey); break; case "GetBatchStatistics": GetBatchStatistics.Run(apiLoginId, transactionKey); break; case "GetSettledBatchList": GetSettledBatchList.Run(apiLoginId, transactionKey); break; default: ShowUsage(); break; } }
public async Task <CreateSubscriptionResponse> CreateSubscription(CreateSubscription createSubscription) { return(await SubscriptionDomainService.CreateSubscription(createSubscription)); }
/// <summary> /// Оформл /// </summary> /// <param name="callback"></param> public void SubsOnNewData(CreateSubscription callback) { // Этот метод вызывается из главной программы (вызывающей) Subscribe(callback); }
public async Task <Result> Subscribe(CreateSubscription createSubscription) { //return await Task.FromResult(Result.Ok()); return(await BreakOrRetry(async() => await api.Subscribe(Constants.MeetingRoomsFuncKey, createSubscription, GetCancellationToken()))); }