क्रेडिट कार्ड की समाप्ति तिथि में अधिकतम वर्ष


149

जब क्रेडिट कार्ड की बात आती है, तो विभिन्न ऑनलाइन सेवाओं में समाप्ति के अधिकतम वर्ष के लिए अलग-अलग मूल्य होते हैं।

उदाहरण के लिए:

  • बेसकैंप: +15 वर्ष (2025)
  • अमेज़न: +20 साल (2030)
  • पेपैल: +19 साल (2029)

यहाँ उचित अधिकतम क्या है? क्या कोई आधिकारिक दिशा-निर्देश हैं?


1
प्रमुख ऑनलाइन स्टोरों में असंगतता किसी भी आधिकारिक दिशानिर्देश के प्रति बहुत दृढ़ता से इंगित करती है।
मैट बॉल

10
मुझे ऐसी साइटें पसंद हैं जो एक साधारण पाठ इनपुट के साथ समाप्ति वर्ष के लिए पूछती हैं ...
Quentin

1
@ क्वेंटिन यह दोषपूर्ण सत्यापन से बेहतर है जो प्रस्तुत करने से रोकता है, जब तक कि उपयोगकर्ता वेब ब्राउज़र के देव का उपयोग करना नहीं जानता। उपकरण।
अलास्टेयर

4
@ ऑलस्टेयर - मेरी टिप्पणी व्यंग्यात्मक रूप से नहीं थी।
क्वेंटिन

1
@ ध्यान मेला पर्याप्त। दीर्घवृत्त ने मुझे फेंक दिया। :-P एक उपयोगकर्ता के लिए, यह स्पष्ट रूप से कम से कम कष्टप्रद कार्यान्वयन है, लेकिन एक विकास / व्यवसायों के दृष्टिकोण से, बस इतना गलत इनपुट होगा (और इससे बिक्री खो सकती है)।
अलस्टेयर

जवाबों:


65

कोई आधिकारिक दिशानिर्देश नहीं है क्योंकि क्रेडिट कार्ड जारी करने वाले प्रत्येक का चयन कर सकते हैं जब उनके द्वारा जारी किए गए कार्ड समाप्त हो जाएंगे। वास्तव में वे लंबे समय तक और लंबे समय तक कार्ड जारी करते रहे हैं। यदि आप यह निर्धारित करने की कोशिश कर रहे हैं कि भविष्य में आप कितनी दूर बाहर निकल सकते हैं, तो सुरक्षित पक्ष के लिए समाप्ति तिथियों को समायोजित करें और अपने ग्राहकों को चुनने के लिए कई साल दें। इस तरह आप भविष्य में अपने आवेदन का प्रमाण देते हैं।

FYI करें, कई क्रेडिट कार्ड जारीकर्ता यह निर्धारित करते समय समाप्ति तिथि का उपयोग नहीं करते हैं कि क्रेडिट कार्ड खरीद को मंजूरी दी जाए या नहीं। यदि आप एक गलत तारीख के बारे में चिंतित हैं, तो प्रोवाइडर द्वारा अंतिम रूप से कहा जाएगा कि लेनदेन को मंजूरी दी गई है या नहीं, इसलिए मैं इसके बारे में चिंता नहीं करूंगा।

जुलाई 2017 : बस एक कार्ड के साथ एक अंतिम उपयोगकर्ता था जो अब से लगभग 50 साल पहले समाप्त हो गया था।


2
वे एक सही कोड के बिना अनुमोदन कर सकते हैं, लेकिन वे आपको अपने लेनदेन पर उच्च दरें भी दे सकते हैं, जिनके पास सही कोड नहीं हैं।
बीटर्नोन

यह केवल AVS और CVV सत्यापन के लिए सही है।
जॉन कॉनडे

यह सच है कि अधिकांश जारीकर्ता लेन-देन को वैसे भी स्वीकार कर लेंगे, लेकिन उपयोगकर्ता को अपने कार्ड पर वर्ष के लिए विकल्प प्रदान नहीं करने से लेन-देन के साथ जाने के लिए उसे हतोत्साहित किया जा सकता है। मैं सिर्फ 50 साल जोड़ूंगा और उम्मीद करता हूं कि कोई भी जारीकर्ता आपको उस लंबे समय के लिए प्लास्टिक का एक टुकड़ा रखने का इरादा नहीं करेगा, भले ही वह एक लंबा और कष्टप्रद ड्रॉपडाउन हो।
मौरो

16

मैं या तो गतिशील रूप से वर्तमान तिथि के वर्ष में 15-20 साल जोड़ूंगा या वर्ष के लिए एक टेक्स्टबॉक्स इनपुट प्रदान करूंगा (जो व्यक्तिगत रूप से मुझे दो अंकों को टाइप करने के लिए वर्षों की सूची में स्क्रॉल करने के लिए तेजी से मिलता है)।


7
जब तक आप मोबाइल फोन का उपयोग नहीं कर रहे हैं, हो सकता है। आप वर्षों से स्वाइप करना पसंद कर सकते हैं। कुछ विचार करने के लिए।
जेद्माओ

10
अच्छा बिंदु @sfjedi, और चलो यह मत भूलो कि अधिकांश ब्राउज़रों में आप अभी भी संख्या में कुंजी कर सकते हैं और यह ऑटो का चयन करेगा।
केविन विस्किया

1
पाठ इनपुट बनाम चयन के बारे में अच्छी बात है। मैंने हमेशा टेक्स्ट इनपुट को प्राथमिकता दी है, लेकिन हाल ही में एंड्रॉइड और आईओएस पर मेरे कुछ यूआई परीक्षण के साथ, मैंने पाया कि चुनिंदा विकल्प थोड़ा आसान लगते हैं। हालांकि, HTML5 के प्रकार = संख्या का उपयोग करने से मोबाइल डिवाइस पर संख्यात्मक कीबोर्ड जल्दी से खींचता है, जिससे चीजें आसान भी हो जाती हैं। यह लगता है कि यह सत्यापन त्रुटियों के लिए नीचे आता है; पूर्वनिर्धारित चयनित विकल्पों के साथ शायद कम त्रुटियां।
क्लिंट पाच

मुझे यकीन नहीं है कि यह मोबाइल डिवाइस पर अच्छा काम करेगा, लेकिन ड्रॉपडाउन / टेक्स्टबॉक्स के बारे में क्या? आप या तो एक मान दर्ज कर सकते हैं या सामान्य की तरह चुन सकते हैं।
मफिन मैन

4

एक सैद्धांतिक ऊपरी सीमा के रूप में, मैं प्रस्ताव करता हूं कि आपको कार्डधारक की अपेक्षित आयु से अधिक विचार करने की आवश्यकता नहीं है। विकिपीडिया जीवित व्यक्तियों की जीवनियों के लिए अपने संपादकीय मानकों में यह करता है :

115 वर्ष से कम समय में पैदा हुए किसी भी व्यक्ति को इस नीति द्वारा कवर किया जाता है जब तक कि किसी विश्वसनीय स्रोत ने व्यक्ति की मृत्यु की पुष्टि नहीं की हो। 115 वर्ष से अधिक उम्र के लोगों को मृत घोषित कर दिया जाता है जब तक कि सबसे पुराने लोगों को सूचीबद्ध नहीं किया जाता है।

इसलिए, अपने कोड में, चालू वर्ष देखें, 115 जोड़ें और क्रेडिट कार्ड की समाप्ति तिथि के लिए अपनी सैद्धांतिक ऊपरी सीमा के रूप में उपयोग करें। आपको उस कोड को फिर कभी नहीं छूना पड़ेगा।


2
मैं कहूंगा कि यह बहुत सैद्धांतिक है। कार्ड के साथ कोई व्यक्ति जो पुराना है, उसे उसके पहले जन्मदिन और जन्म के दिन के बीच कभी-कभी जारी किया जाता था। और फिर उन्हें ११५ साल तक रहना होगा!
21

40
लड़का है कि कुछ मजबूत सामान आप लोग धूम्रपान कर रहे हैं '!
आर्ट

7
SWIM ने सोचा कि यह एक अच्छा विचार था (उस समय) विकिपीडिया के सबसे पुराने लोगों की सूची को छोडने के लिए आयु इनपुट क्षेत्र को सीमित करने के लिए उस maxस्थिति में जब तक सबसे पुराने व्यक्ति ने एक बार 116 का इस्तेमाल किया था ...:
एलस्टेयर

एक कॉरपोरेट कार्ड के बारे में क्या जो किसी व्यक्ति के लिए जरूरी नहीं है? उस मामले में, कोई "सैद्धांतिक" सीमा नहीं है।
अनारोनब्यूमन

3
लेकिन @ARonbauman, अमेरिकी सुप्रीम कोर्ट के अनुसार, एक निगम एक व्यक्ति है। इस प्रकार कार्ड केवल 115 वर्षों के लिए अच्छा होना चाहिए! :-)
Stonetip

1

यहाँ एक जावास्क्रिप्ट कोड स्निपेट है जिसका उपयोग आप सीसी सत्यापन के लिए आगामी वर्षों की अनुकूलन योग्य सूची प्रदर्शित करने के लिए कर सकते हैं:

    var yearsToShow = 20;
    var thisYear = (new Date()).getFullYear();
    for (var y = thisYear; y < thisYear + yearsToShow; y++) {
      var yearOption = document.createElement("option");
      yearOption.value = y;
      yearOption.text = y;
      document.getElementById("expYear").appendChild(yearOption);
    }
          <label for="expiration">Expiration Date</label>
          <span id="expiration">
            <select id="expMonth" name="expMonth">
              <option disabled="true">Month</option>
              <option value="1">Jan</option>
              <option value="2">Feb</option>
              <option value="3">Mar</option>
              <option value="4">Apr</option>
              <option value="5">May</option>
              <option value="6">Jun</option>
              <option value="7">Jul</option>
              <option value="8">Aug</option>
              <option value="9">Sep</option>
              <option value="10">Oct</option>
              <option value="11">Nov</option>
              <option value="12">Dec</option>
            </select>
            <select id="expYear" name="expYear">
            </select>
          </span>


0

यहाँ शीर्ष अमेरिकी ऑनलाइन खुदरा विक्रेताओं का एक नमूना है:

RETAILER        WINDOW IN YEARS
Amazon          20
Walmart         10
Apple           NA (TEXT FIELD)
Home Depot      19
Best Buy        10
Target          NA (TEXT FIELD)
eBay            NA (TEXT FIELD)
Google          19

-1

अच्छी कॉल, @ सूची।

यहां ASP.NET MVC में महीने और साल की पीढ़ी है। इसे अपने viewmodel में जोड़ें:

public IList<SelectListItem> Months = new List<SelectListItem>() { 
    new SelectListItem() { Text="Jan", Value="01" },
    new SelectListItem() { Text="Feb", Value="02" },
    new SelectListItem() { Text="Mar", Value="03" },
    new SelectListItem() { Text="Apr", Value="04" },
    new SelectListItem() { Text="May", Value="05" },
    new SelectListItem() { Text="Jun", Value="06" },
    new SelectListItem() { Text="Jul", Value="07" },
    new SelectListItem() { Text="Aug", Value="08" },
    new SelectListItem() { Text="Sep", Value="09" },
    new SelectListItem() { Text="Oct", Value="10" },
    new SelectListItem() { Text="Nov", Value="11" },
    new SelectListItem() { Text="Dec", Value="12" },
};
public IEnumerable<SelectListItem> Years
{
    get
    {
        return new SelectList(Enumerable.Range(DateTime.Today.Year, 15));
    }
}

और यह आपके विचार के लिए:

<fieldset>
    <legend>Card expiration</legend>
    <div style="float: left;">
        <div class="editor-label">
            @Html.LabelFor(model => model.ExpirationMonth)
        </div>
        <div class="editor-field">
            @Html.DropDownListFor(model => model.ExpirationMonth, Model.Months)
            @Html.ValidationMessageFor(model => model.ExpirationMonth)
        </div>
    </div>
    <div style="float: left;">

        <div class="editor-label">
            @Html.LabelFor(model => model.ExpirationYear)
        </div>
        <div class="editor-field">
            @Html.DropDownListFor(model => model.ExpirationYear, Model.Years)
            @Html.ValidationMessageFor(model => model.ExpirationYear)
        </div>
    </div>
</fieldset>

-1

जबकि दूसरा उदाहरण पहले की तुलना में दो बार चलता है क्योंकि आप अभी भी तारीख प्राप्त कर रहे हैं और वर्ष को 40 बार के बजाय 20 बार निकाल रहे हैं। लूप का एक बेहतर घूमना है:

$StartDate=date('Y');
$EndDate=$StartDate+21;
for($i=$StartDate;$i<$EndDate;$i++){
    echo "<option value='".$i."'>".substr($i,2)."</option>\n";

यह दो बार की तुलना में तेज़ उदाहरण के रूप में लगभग 20 गुना तेज होगा और मूल कोड में एक मामूली बग को भी संबोधित करता है कि वर्ष की एक तारीख से लेकर अगले तक अप्रत्याशित रूप से अग्रणी हो सकता है, हालांकि इस मामले में हानिरहित, परिणाम।


-2
<?php 
$y = gmdate("Y");
$x = 20;
$max = ($y + $x);
while ($y <= $max) {
echo "<option value='$y'>$y</option>";
$y = $y + 1;
}
?>

1
उपर्युक्त पर एक भिन्नता, महीने और वर्ष के चयन के लिए ड्रॉपडाउन का चयन करने और बनाने के लिए वर्षों को जोड़ना बेहतर है। यदि उपयोगकर्ता किसी एकल पाठ फ़ील्ड के साथ प्रस्तुत किया जाता है, तो उपयोगकर्ता महीने और वर्ष में भिन्नता दर्ज करते हैं।
लुई फेरेरा

-2

यदि आप ऐसा समाधान चाहते हैं जो तीन-अंकीय वर्षों 2100+ का उत्पादन नहीं करता है, तो आपको तारीख को संशोधित करना होगा, तदनुसार आपको xx00-xx09 वर्षों के लिए अग्रणी शून्य से भरना होगा ताकि एकल अंक प्राप्त न हो।

यह 2080 में शुरू होने वाला बहुत महत्वपूर्ण होगा।

<?php
    for($i=0;$i<=20;$i++){
        $aktDate = sprintf("%02d", ((date('y')+$i)%100));
        echo "<option value=\"{$aktDate}\">{$aktDate}</option>\n";
    }
?>

-3

अमेज़ॅन के लिए ओपी की 20 साल की ऊपरी वैधता को पढ़ने के बाद, मैंने पीएचपी में यह सरल समाधान लिखा है:

<select name='Expiry-Year'>
    <option value="">yy</option>
    <?php
    for($i=0;$i<21;$i++){
        echo "<option value='".(date('Y')+$i)."'>".(date('y')+$i)."</option>\n";
    }
    ?>
</select>

इससे last yearएक फॉर्म से निकालने के इन नए-वर्ष के अनुरोधों की संख्या बहुत कम हो गई है।

लूप का एक दुबला संस्करण ~ दो बार जल्दी से चलता है:

<select name='Expiry-Year'>
    <option value="">yy</option>
    <?php
    for($i=date('Y');$i<date('Y')+21;$i++){
        echo "<option value='".$i."'>".substr($i,2)."</option>\n";
    }
    ?>
</select>

4
क्या आपको एहसास है कि कॉलिंग date('Y')और date('y')प्रत्येक में 20 गुना धीमा है?
एलेक्सिस विल्के

अपेक्षाकृत नहीं, @ एलेक्सिस लेकिन मैंने एक संस्करण जोड़ा है जो आपके लिए दो बार जल्दी से चलता है। : पी
एलिस्टेयर

-6
<script type="text/javascript">
  var select = $(".card-expiry-year"),
  year = new Date().getFullYear();

  for (var i = 0; i < 20; i++) {
      select.append($("<option value='"+(i + year)+"' "+(i === 0 ? "selected" : "")+">"+(i + year)+"</option>"))
  }
</script> 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.