- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- RequestHeader
- वर्शन
- StandardCard
- AvsData
- ResponseHeader
- CardNetworkResult
- नेटवर्क
- AvsResult
- VerificationResult
- CvnResult
उपयोगकर्ता के कार्ड की पुष्टि करता है, ताकि यह पता लगाया जा सके कि वह मान्य है या नहीं.
Google, किसी उपयोगकर्ता के कार्ड की जानकारी की पुष्टि करने के लिए इस तरीके को कॉल करता है. इससे यह भी पता चलता है कि कार्ड का इस्तेमाल पेमेंट के लिए किया जा सकता है या नहीं. इस कॉल के लिए कोई रकम ट्रांसफ़र नहीं की जाती. साथ ही, उपयोगकर्ता के खाते में कोई स्थायी बदलाव भी नहीं होना चाहिए.
अनुरोध का एक उदाहरण यह दिखता है:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "ZWNobyB0cmFuc2FjdGlvbg",
"requestTimestamp": "1481855969503"
},
"standardCard": {
"accountNumber": "4123456789101112",
"expiryDate": "01/2020",
"cvn": "123"
},
"avsData": {
"streetAddress": "123 Main St APT #200",
"localityName": "Springfield",
"administrativeAreaName": "CO",
"countryCode": "US"
}
}
जवाब का एक उदाहरण ऐसा दिखता है:
{
"responseHeader": {
"responseTimestamp": "1481855970403",
},
"cardNetworkResult": {
"network": "VISA",
"iso8583Result": "00",
"rawNetworkResult": "00"
},
"avsResult": {
"rawAvsResult": "B",
"streetAddress": "MATCH",
"localityName": "MATCH",
"administrativeAreaName": "MATCH",
"postalCodeNumber": "NOT_SENT",
"countryCode": "SKIPPED"
},
"cvnResult": "MATCH"
}
एचटीटीपी अनुरोध
POST https://card-verification-service.google.com/v1/card/verifycard
यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:
JSON के काेड में दिखाना | |
---|---|
{ "requestHeader": { object( |
फ़ील्ड | |
---|---|
requestHeader |
ज़रूरी: सभी अनुरोधों के लिए सामान्य हेडर. |
standardCard |
ज़रूरी: उपयोगकर्ता के पेमेंट कार्ड का डेटा. |
avsData |
ज़रूरी नहीं: उपयोगकर्ता के पते की पुष्टि एवीएस से की जानी चाहिए. |
जवाब का मुख्य भाग
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
पेमेंट इंटिग्रेटर की ओर से होस्ट किए गए card.verifycard तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.
JSON के काेड में दिखाना | |
---|---|
{ "responseHeader": { object( |
फ़ील्ड | |
---|---|
responseHeader |
ज़रूरी: सभी जवाबों के लिए सामान्य हेडर. |
cardNetworkResult |
ज़रूरी: कार्ड नेटवर्क पर अनुमति जारी करने का नतीजा. |
avsResult |
ज़रूरी नहीं: अनुरोध में भेजे गए पते के फ़ील्ड की पुष्टि करने का नतीजा. अगर अनुरोध में |
cvnResult |
ज़रूरी: अनुरोध में भेजे गए CVN की पुष्टि करने का नतीजा. अगर अनुरोध पर CVN सेट नहीं किया गया था, तो यह वैल्यू |
RequestHeader
हेडर ऑब्जेक्ट, जो सर्वर को भेजे गए सभी अनुरोधों में तय होता है.
JSON के काेड में दिखाना | |
---|---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object( |
फ़ील्ड | |
---|---|
requestId |
ज़रूरी है: इस अनुरोध के लिए यूनीक आइडेंटिफ़ायर. यह एक ऐसी स्ट्रिंग है, जिसमें ज़्यादा से ज़्यादा 100 वर्ण हो सकते हैं. साथ ही, इसमें सिर्फ़ "a-z", "A-Z", "0-9", ", "-", और "_" वर्ण शामिल होते हैं. |
requestTimestamp |
ज़रूरी: इस अनुरोध के टाइमस्टैंप को epoch के बाद मिलीसेकंड के तौर पर दिखाया जाता है. पाने वाले व्यक्ति को पुष्टि करनी होगी कि यह टाइमस्टैंप 'अब' का ± 60 सेकंड का है. बार-बार कोशिश करने पर, इस अनुरोध का टाइमस्टैंप इस्तेमाल नहीं किया जा सकता. |
userLocale |
ज़रूरी नहीं: दो या तीन अक्षर वाला ISO 639-2 Alpha 3 भाषा कोड, जिसके बाद हाइफ़न और ISO 3166-1 Alpha-2 देश कोड, जैसे कि 'pt', 'pt-BR', 'fil' या 'Philip-PH' हो. जवाब में |
protocolVersion |
ज़रूरी है: इस अनुरोध का वर्शन. |
वर्शन
वर्शन ऑब्जेक्ट जो क्लासिक a.b.c
वर्शन स्ट्रक्चर का स्ट्रक्चर्ड फ़ॉर्म है. एक ही नंबर के मेजर वर्शन के साथ काम करने की गारंटी होती है. ध्यान रखें कि मामूली बदलाव और बदलाव, अक्सर और बिना किसी सूचना के बदल सकते हैं. इंटिग्रेटर को एक ही मेजर वर्शन के लिए सभी अनुरोधों के साथ काम करना चाहिए.
JSON के काेड में दिखाना | |
---|---|
{ "major": number, "minor": number, "revision": number } |
फ़ील्ड | |
---|---|
major |
ज़रूरी: मेजर वर्शन. इसे अलग-अलग वर्शन के साथ काम करने से जुड़े अनुरोधों के लिए मार्क किया गया है. इसलिए, इस बात की कोई गारंटी नहीं है कि वे साथ काम करेंगे. |
minor |
ज़रूरी: छोटा वर्शन. इससे पता चलता है कि अहम गड़बड़ियां ठीक कर दी गई हैं. |
revision |
ज़रूरी: छोटा वर्शन. यह छोटी-मोटी गड़बड़ियों को ठीक करता है. |
StandardCard
कार्ड का स्टैंडर्ड रिप्रज़ेंटेशन
JSON के काेड में दिखाना | |
---|---|
{ "accountNumber": string, "expiryDate": string, "cvn": string } |
फ़ील्ड | |
---|---|
accountNumber |
ज़रूरी है: कार्ड का प्राइमरी खाता नंबर (पैन) सादे टेक्स्ट में. |
expiryDate |
ज़रूरी नहीं: कार्ड की समयसीमा खत्म होने की तारीख MM/YYYY फ़ॉर्मैट में. ज़रूरी नहीं है, क्योंकि कुछ इलाकों में कुछ कार्ड के खत्म होने की तारीख नहीं होती. |
cvn |
ज़रूरी नहीं: अगर Google ने उपयोगकर्ता से CVN इकट्ठा किया है, तो वह यहां दिया गया है. इसकी पुष्टि की जानी चाहिए. |
AvsData
इसमें पते के फ़ील्ड शामिल हैं, जिनकी पुष्टि एवीएस से की जाएगी.
JSON के काेड में दिखाना | |
---|---|
{ "streetAddress": string, "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
फ़ील्ड | |
---|---|
streetAddress |
ज़रूरी नहीं: उपयोगकर्ता के बिलिंग पते में दिया गया मोहल्ले का पता. जब उपयोगकर्ता अपने मोहल्ले का पता (जैसे कि अपार्टमेंट नंबर के लिए लाइन) डालने के लिए कई लाइनें देता है, तो लाइनें एक साथ जुड़ जाती हैं. |
localityName |
ज़रूरी नहीं: यह शब्द अधूरा है, लेकिन आम तौर पर यह किसी पते के शहर/कस्बे वाले हिस्से के बारे में बताता है. दुनिया के उन क्षेत्रों के लिए, जहां क्षेत्र अच्छी तरह से परिभाषित नहीं हैं या इस संरचना में ठीक से फ़िट नहीं होते हैं (उदाहरण के लिए, जापान और चीन), localityName को खाली छोड़ दें और address_line का इस्तेमाल करें. उदाहरण: यूएस शहर, आईटी कम्यून, यूके पोस्ट टाउन. |
administrativeAreaName |
ज़रूरी नहीं: उपयोगकर्ता के बिलिंग पते के लिए, इस देश का टॉप-लेवल एडमिन सबडिविज़न. उदाहरण: अमेरिका का राज्य, आईटी क्षेत्र, यूनाइटेड किंगडम का आधिकारिक देश, जापान का प्रांत जब देश == अमेरिका हो, तो इसे अमेरिकी राज्य के लिए दो वर्णों का छोटा रूप माना जाना चाहिए. |
postalCodeNumber |
ज़रूरी नहीं: उपयोगकर्ता की बिलिंग का पिन कोड. |
countryCode |
ज़रूरी नहीं: ISO-3166-1 Alpha-2 फ़ॉर्मैट में उपयोगकर्ता के बिलिंग पते के देश का कोड. |
ResponseHeader
हेडर ऑब्जेक्ट, जो सर्वर से भेजे गए सभी रिस्पॉन्स में तय होता है.
JSON के काेड में दिखाना | |
---|---|
{ "responseTimestamp": string } |
फ़ील्ड | |
---|---|
responseTimestamp |
ज़रूरी: इस जवाब के टाइमस्टैंप को epoch के बाद मिलीसेकंड के तौर पर दिखाया जाता है. पाने वाले व्यक्ति को पुष्टि करनी होगी कि यह टाइमस्टैंप 'अब' का ± 60 सेकंड का है. |
CardNetworkResult
एक नेटवर्क और उस नेटवर्क से एक रॉ नतीजा कोड शामिल होता है.
JSON के काेड में दिखाना | |
---|---|
{
"network": enum( |
फ़ील्ड | |
---|---|
network |
ज़रूरी: वह नेटवर्क जिससे नतीजा कोड मिला था. |
iso8583Result |
ज़रूरी है: नेटवर्क से मिला ISO-8583 रिटर्न कोड. अगर नेटवर्क अपने रिस्पॉन्स कोड का फ़ॉर्मैट इस्तेमाल करता है, तो इंटिग्रेटर को उन रिस्पॉन्स कोड को ISO-8583 रिटर्न कोड से मैप करना होगा. |
rawNetworkResult |
ज़रूरी है: नेटवर्क से मिली रॉ वैल्यू. जो नेटवर्क ISO-8583 रिटर्न कोड का इस्तेमाल करते हैं, उनके लिए इस फ़ील्ड और |
नेटवर्क
उन संभावित कार्ड नेटवर्क के बारे में बताता है जिनसे शायद rawResult
मिले.
Enums | |
---|---|
UNKNOWN_NETWORK |
नेटवर्क की पहचान नहीं की गई |
NETWORK_NOT_INVOLVED |
इस वैल्यू का इस्तेमाल तब करें, जब नेटवर्क की वजह से पेमेंट अस्वीकार न किया गया हो. उदाहरण के लिए, ऐसा तब करें, जब इंटिग्रेटर ने कार्ड नेटवर्क पर खरीदारी को भेजने से पहले ही उसे अस्वीकार कर दिया हो. |
AMEX |
AMEX नेटवर्क |
COMPROCARD |
COMPROCARD नेटवर्क |
DANKORT |
DANKORT नेटवर्क |
DINACARD |
DINACARD नेटवर्क |
DINERS_CLUB |
DINERS_CLUB नेटवर्क |
DISCOVER |
डिस्कवर नेटवर्क |
EFTPOS |
EFTPOS नेटवर्क |
ELO |
ELO नेटवर्क |
ENROUTE |
ENरूट नेटवर्क |
FELICA |
FELICA नेटवर्क |
GE_CAPITAL |
GE_CAPITAL नेटवर्क |
HIPERCARD |
HIPERCARD नेटवर्क |
ID |
आईडी नेटवर्क |
INTERAC |
INTERAC नेटवर्क |
JCB |
JCB नेटवर्क |
LASER |
LASER नेटवर्क |
MAESTRO |
MAESTRO नेटवर्क |
MASTERCARD |
MSTRCARD नेटवर्क |
PPT |
PPT नेटवर्क |
QUICPAY |
QUICPAY नेटवर्क |
RUPAY |
RUPAY नेटवर्क |
SBERCARD |
SBERCARD नेटवर्क |
SOLO |
SOLO नेटवर्क |
SYNCHRONY |
SYNCHRONY नेटवर्क |
UNIONPAY |
UNIONPAY नेटवर्क |
VISA |
VISA नेटवर्क |
AvsResult
अनुरोध में दिए गए पता फ़ील्ड की पुष्टि करने का नतीजा.
सभी फ़ील्ड में डेटा डालना ज़रूरी है, क्योंकि हमें हर फ़ील्ड के लिए एक्सप्लिसिट नतीजा चाहिए. नतीजे के तौर पर फ़ील्ड के न होने पर निर्भर करना ज़रूरी नहीं है.
JSON के काेड में दिखाना | |
---|---|
{ "rawAvsResult": string, "streetAddress": enum( |
फ़ील्ड | |
---|---|
rawAvsResult |
ज़रूरी है: कार्ड नेटवर्क से मिली रॉ AVS वैल्यू. |
streetAddress |
ज़रूरी: अनुरोध के अगर फ़ील्ड को अनुरोध में सेट नहीं किया गया था, तो यह मान "NOT_SENT" होना चाहिए. |
localityName |
ज़रूरी: अनुरोध के अगर फ़ील्ड को अनुरोध में सेट नहीं किया गया था, तो यह मान "NOT_SENT" होना चाहिए. |
administrativeAreaName |
ज़रूरी: अनुरोध के अगर फ़ील्ड को अनुरोध में सेट नहीं किया गया था, तो यह मान "NOT_SENT" होना चाहिए. |
postalCodeNumber |
ज़रूरी: अनुरोध के अगर फ़ील्ड को अनुरोध में सेट नहीं किया गया था, तो यह मान "NOT_SENT" होना चाहिए. |
countryCode |
ज़रूरी: अनुरोध के अगर फ़ील्ड को अनुरोध में सेट नहीं किया गया था, तो यह मान "NOT_SENT" होना चाहिए. |
VerificationResult
Enums | |
---|---|
UNKNOWN_AVS_MATCH |
कभी भी इस डिफ़ॉल्ट वैल्यू को सेट न करें! |
NOT_SENT |
Google ने यह फ़ील्ड नहीं भेजा है, इसलिए इसके साथ कुछ भी नहीं किया जा सका. |
MATCH |
Google ने इंटिग्रेटर को फ़ील्ड भेजा और एवीएस के ज़रिए इसकी जांच की गई और यह अनुमानित वैल्यू से मैच किया. |
MISMATCH |
Google ने इंटिग्रेटर को फ़ील्ड भेजा और इसकी एवीएस के ज़रिए जांच की गई, लेकिन यह अनुमानित वैल्यू से मेल नहीं खा रही थी. |
SKIPPED |
Google ने फ़ील्ड को इंटिग्रेटर को भेजा, लेकिन इंटिग्रेटर ने फ़ील्ड की जांच नहीं की. |
NOT_SPECIFIED |
Google ने फ़ील्ड को इंटिग्रेटर को भेजा और इंटिग्रेटर ने AVS की मदद से फ़ील्ड की जांच की. हालांकि, एवीएस के नतीजे के कोड से इंटिग्रेटर को यह जानने के लिए ज़रूरी जानकारी नहीं मिलती कि फ़ील्ड, अनुमानित वैल्यू से मेल खाता है या नहीं. |
CvnResult
अनुरोध में दिए गए CVN की पुष्टि करने पर नतीजा.
Enums | |
---|---|
UNKNOWN_CVN_RESULT |
कभी भी इस डिफ़ॉल्ट वैल्यू को सेट न करें! |
NOT_SENT |
Google ने CVN नहीं दिया है, इसलिए इसकी पुष्टि नहीं की जा सकी. |
NOT_VERIFIED |
Google ने CVN भेज दिया है, लेकिन उसकी पुष्टि नहीं हुई है. यह "F" वाले नेटवर्क नतीजे के कोड से मेल खाता है |
MATCH |
Google ने CVN भेजा है, उसकी पुष्टि हो गई है, और वह मेल खा रहा है. यह "M" वाले नेटवर्क परिणाम कोड के अनुरूप है. |
MISMATCH |
Google ने CVN भेजा है, उसकी पुष्टि हो गई है, लेकिन वह मेल नहीं खाता. यह "N" वाले नेटवर्क नतीजे कोड के मुताबिक है. |