예제 #1
0
            public IEnumerable <V2.CreditCardData> GetMissingPaymentProfiles()
            {
                V1.ICCProcessingHostedForm processor    = GetProcessor();
                V1.APIResponse             response     = new V1.APIResponse();
                V1.SyncPMResponse          syncResponse = new V1.SyncPMResponse();
                processor.SynchronizePaymentMethods(response, syncResponse);
                List <V2.CreditCardData>        cardList        = GetCardData(syncResponse);
                IEnumerable <V2.CreditCardData> missingProfiles = cardList.Except(GetExistingProfiles(_provider), new V2.InterfaceExtensions.CreditCardDataEqualityComparer());

                return(missingProfiles);
            }
예제 #2
0
 private V1.ICCProcessingHostedForm GetProcessor()
 {
     if (HttpContext.Current.Request.UrlReferrer != null && HttpContext.Current.Request.UrlReferrer.Scheme != System.Uri.UriSchemeHttps)
     {
         throw new PXException(CCProcessingBase.Messages.MustUseHttps);
     }
     _plugin.Initialize(
         _provider.GetProcessingCenterSettingsStorage(),
         _provider.GetCardDataReader(),
         _provider.GetCustomerDataReader());
     V1.ICCProcessingHostedForm profileProcessor = _plugin as V1.ICCProcessingHostedForm;
     if (profileProcessor == null)
     {
         string errorMessage = PXMessages.LocalizeFormatNoPrefixNLA(
             Messages.FeatureNotSupportedByProcessing,
             CCProcessingFeature.HostedForm);
         throw new PXException(errorMessage);
     }
     return(profileProcessor);
 }
예제 #3
0
 public void GetManageForm()
 {
     V1.ICCProcessingHostedForm processor = GetProcessor();
     V1.APIResponse             response  = new V1.APIResponse();
     processor.ManagePaymentMethodHostedForm(response, processor.GetCallbackURL());
 }