- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- 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 ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में इस तरह का डेटा शामिल होता है:
जेएसओएन के काेड में दिखाना | |
---|---|
{ "requestHeader": { object( |
फ़ील्ड | |
---|---|
requestHeader |
ज़रूरी: सभी अनुरोधों के लिए सामान्य हेडर. |
standardCard |
ज़रूरी: उपयोगकर्ता के पेमेंट कार्ड का डेटा. |
avsData |
ज़रूरी नहीं: एवीएस से पुष्टि करने के लिए, उपयोगकर्ता का पता. |
जवाब का मुख्य भाग
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
Payment Integrator के होस्ट किए गए Card.verifycard तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.
जेएसओएन के काेड में दिखाना | |
---|---|
{ "responseHeader": { object( |
फ़ील्ड | |
---|---|
responseHeader |
ज़रूरी: सभी जवाबों के लिए सामान्य हेडर. |
cardNetworkResult |
ज़रूरी: कार्ड नेटवर्क पर अनुमति जारी करने का नतीजा. |
avsResult |
ज़रूरी नहीं: अनुरोध में भेजे गए पते के फ़ील्ड की पुष्टि करने का नतीजा. अगर अनुरोध में |
cvnResult |
ज़रूरी: अनुरोध में भेजे गए CVN की पुष्टि करने का नतीजा. अगर अनुरोध पर CVN सेट नहीं किया गया, तो इसकी वैल्यू |
RequestHeader
हेडर ऑब्जेक्ट, जो सर्वर को भेजे गए सभी अनुरोधों पर तय होता है.
जेएसओएन के काेड में दिखाना | |
---|---|
{
"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' या 'fil-PH'. जवाब में, |
protocolVersion |
ज़रूरी: इस अनुरोध का वर्शन. |
वर्शन
वर्शन ऑब्जेक्ट, जो a.b.c
के क्लासिक वर्शन के स्ट्रक्चर का स्ट्रक्चर है. इस बात की गारंटी है कि एक ही नंबर वाले मुख्य वर्शन, सभी के साथ काम करेंगे. ध्यान दें कि मामूली और बदलाव, बिना किसी सूचना के बार-बार बदल सकते हैं. इंटिग्रेटर को एक ही मेजर वर्शन के सभी अनुरोधों के साथ काम करना चाहिए.
जेएसओएन के काेड में दिखाना | |
---|---|
{ "major": number, "minor": number, "revision": number } |
फ़ील्ड | |
---|---|
major |
ज़रूरी: मेजर वर्शन. इसे अलग-अलग वर्शन के साथ कम्पैटबिलटी रिक्वेस्ट के लिए मार्क किया जाता है. इसकी कोई गारंटी नहीं है कि इसके साथ काम करने की सुविधा मिलेगी. |
minor |
ज़रूरी: माइनर वर्शन. यह अहम गड़बड़ियां ठीक करता है. |
revision |
ज़रूरी: माइनर वर्शन. यह छोटी गड़बड़ियों को ठीक करने के बारे में बताता है. |
StandardCard
कार्ड का स्टैंडर्ड वर्शन
जेएसओएन के काेड में दिखाना | |
---|---|
{ "accountNumber": string, "expiryDate": string, "cvn": string } |
फ़ील्ड | |
---|---|
accountNumber |
ज़रूरी: सादे टेक्स्ट में कार्ड का मुख्य खाता नंबर (पैन). |
expiryDate |
ज़रूरी नहीं: कार्ड की समयसीमा खत्म होने की तारीख MM/YYYY फ़ॉर्मैट में. ज़रूरी नहीं है, क्योंकि कुछ इलाकों में कुछ कार्ड के खत्म होने की कोई समयसीमा नहीं होती है. |
cvn |
ज़रूरी नहीं: अगर Google ने उपयोगकर्ता से CVN इकट्ठा किया है, तो वह यहां दिया गया है. साथ ही, इसकी पुष्टि की जानी चाहिए. |
AvsData
इसमें AVS से पुष्टि किए जाने वाले पते के फ़ील्ड शामिल हैं.
जेएसओएन के काेड में दिखाना | |
---|---|
{ "streetAddress": string, "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
फ़ील्ड | |
---|---|
streetAddress |
ज़रूरी नहीं: उपयोगकर्ता के बिलिंग पते में दिया गया मोहल्ले का पता. जब उपयोगकर्ता अपने मोहल्ले का पता डालने के लिए कई लाइनें देता है (जैसे कि अपार्टमेंट नंबर के लिए एक लाइन), तब लाइनें एक साथ खाली हो जाती हैं. |
localityName |
ज़रूरी नहीं: यह अस्पष्ट शब्द है, लेकिन आम तौर पर इसका मतलब किसी पते के शहर/कस्बे वाले हिस्से से होता है. अगर दुनिया के किसी भी इलाके में शहर या इलाके तय नहीं किए गए हैं या इस संरचना में फ़िट नहीं होते (जैसे कि जापान और चीन), तो localityName को खाली छोड़ें और address_line का इस्तेमाल करें. उदाहरण: अमेरिका का शहर, आईटी कम्यून, यूके पोस्ट टाउन. |
administrativeAreaName |
ज़रूरी नहीं: उपयोगकर्ता के बिलिंग पते के लिए इस देश का टॉप लेवल एडमिनिस्ट्रेटिव सबडिवीज़न. उदाहरण: अमेरिका का राज्य, आईटी क्षेत्र, यूनाइटेड किंगडम का संविधान वाला देश, जापान का प्रांत जब देश == अमेरिका होता है, तो अमेरिकी राज्य के लिए, यह दो वर्णों का छोटा रूप होना चाहिए. |
postalCodeNumber |
ज़रूरी नहीं: उपयोगकर्ता के बिलिंग पते का पिन कोड. |
countryCode |
ज़रूरी नहीं: उपयोगकर्ता के बिलिंग पते के देश का कोड, ISO-3166-1 Alpha-2 फ़ॉर्मैट में होता है. |
ResponseHeader
हेडर ऑब्जेक्ट, जो सर्वर से भेजे गए सभी रिस्पॉन्स पर तय होता है.
जेएसओएन के काेड में दिखाना | |
---|---|
{ "responseTimestamp": string } |
फ़ील्ड | |
---|---|
responseTimestamp |
ज़रूरी है: इस जवाब का टाइमस्टैंप, epoch के बाद के मिलीसेकंड के तौर पर दिखाया जाता है. रिसीवर को यह पुष्टि करनी चाहिए कि यह टाइमस्टैंप 'अभी' के ± 60 सेकंड का है. |
CardNetworkResult
इसमें एक नेटवर्क और उस नेटवर्क का रॉ नतीजा कोड होता है.
जेएसओएन के काेड में दिखाना | |
---|---|
{
"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 |
डायनाकार्ड नेटवर्क |
DINERS_CLUB |
DINERS_CLUB नेटवर्क |
DISCOVER |
डिस्कवर नेटवर्क |
EFTPOS |
EFTPOS नेटवर्क |
ELO |
ELO नेटवर्क |
ENROUTE |
नेटवर्क बदलें |
FELICA |
FELICA नेटवर्क |
GE_CAPITAL |
GE_CAPITAL नेटवर्क |
HIPERCARD |
HIPERCARD नेटवर्क |
ID |
आईडी नेटवर्क |
INTERAC |
InterAC नेटवर्क |
JCB |
JCB नेटवर्क |
LASER |
LASER नेटवर्क |
MAESTRO |
MAESTRO नेटवर्क |
MASTERCARD |
MMastercard नेटवर्क |
PPT |
PPT नेटवर्क |
QUICPAY |
QUICPAY नेटवर्क |
RUPAY |
RUPAY नेटवर्क |
SBERCARD |
SBERCARD नेटवर्क |
SOLO |
SOLO नेटवर्क |
SYNCHRONY |
सिंक्रोनी नेटवर्क |
UNIONPAY |
यूनियनपे नेटवर्क |
VISA |
VISA नेटवर्क |
AvsResult
अनुरोध में दिए गए पते के फ़ील्ड की पुष्टि करने का नतीजा.
सभी फ़ील्ड इसलिए ज़रूरी हैं, क्योंकि हम दिखाए गए नतीजे के तौर पर फ़ील्ड के न होने पर भरोसा करने के बजाय, हर फ़ील्ड के लिए साफ़ तौर पर नतीजा चाहते हैं.
जेएसओएन के काेड में दिखाना | |
---|---|
{ "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 ने फ़ील्ड को इंटिग्रेटर को भेज दिया और AVS के ज़रिए इसकी जांच की गई. यह जांच उम्मीद के मुताबिक वैल्यू से मेल खाती थी. |
MISMATCH |
Google ने फ़ील्ड को इंटिग्रेटर को भेज दिया और AVS के ज़रिए इसकी जांच की गई, लेकिन यह उम्मीद के मुताबिक नहीं थी. |
SKIPPED |
Google ने फ़ील्ड को इंटिग्रेटर को भेज दिया है, लेकिन इंटिग्रेटर ने फ़ील्ड की जांच नहीं की. |
NOT_SPECIFIED |
Google ने फ़ील्ड को इंटिग्रेटर को भेजा और इंटिग्रेटर ने AVS के ज़रिए फ़ील्ड की जांच की. हालांकि, AVS नतीजा कोड इतनी जानकारी नहीं देता जिससे इंटिग्रेटर को यह पता चल सके कि फ़ील्ड, वैल्यू से मेल खाता है या नहीं. |
CvnResult
अनुरोध में दिए गए CVN की पुष्टि करने का नतीजा.
Enums | |
---|---|
UNKNOWN_CVN_RESULT |
कभी भी यह डिफ़ॉल्ट वैल्यू सेट न करें! |
NOT_SENT |
Google ने CVN नहीं दिया, इसलिए उसकी पुष्टि नहीं की जा सकी. |
NOT_VERIFIED |
Google ने CVN भेजा, लेकिन उसकी पुष्टि नहीं की गई. यह "F" के नेटवर्क नतीजे कोड से मेल खाता है |
MATCH |
Google ने CVN भेजा, उसकी पुष्टि हो गई, और वह मेल खाता है. यह "M" के नेटवर्क नतीजे कोड से मेल खाता है. |
MISMATCH |
Google ने CVN भेजा, उसकी पुष्टि हो गई, लेकिन वह मेल नहीं खा रहा है. यह "N" के नेटवर्क नतीजे कोड से मेल खाता है. |