- HTTP অনুরোধ
- শরীরের অনুরোধ
- প্রতিক্রিয়া শরীর
- অনুরোধ শিরোনাম
- সংস্করণ
- স্ট্যান্ডার্ডকার্ড
- AvsData
- রেসপন্স হেডার
- কার্ডনেটওয়ার্ক ফলাফল
- নেটওয়ার্ক
- Avs ফলাফল
- যাচাইকরণের ফলাফল
- Cvn ফলাফল
এটি বৈধ কিনা তা দেখতে একটি ব্যবহারকারীর কার্ড যাচাই করে।
ব্যবহারকারীর কার্ডের বিশদ বিবরণ যাচাই করতে এবং কার্ডটি অর্থপ্রদানের জন্য ব্যবহার করা যেতে পারে কিনা তা দেখার জন্য 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"
}
HTTP অনুরোধ
POST https://card-verification-service.google.com/v1/card/verifycard
URL gRPC ট্রান্সকোডিং সিনট্যাক্স ব্যবহার করে।
শরীরের অনুরোধ
অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:
JSON প্রতিনিধিত্ব | |
---|---|
{ "requestHeader": { object( |
ক্ষেত্র | |
---|---|
requestHeader | প্রয়োজনীয় : সমস্ত অনুরোধের জন্য সাধারণ শিরোনাম। |
standardCard | প্রয়োজনীয় : ব্যবহারকারীর পেমেন্ট কার্ড সম্পর্কে ডেটা। |
avsData | ঐচ্ছিক : ব্যবহারকারীর ঠিকানা AVS দ্বারা যাচাই করা হবে। |
প্রতিক্রিয়া শরীর
সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:
পেমেন্ট ইন্টিগ্রেটর হোস্ট করা card.verifycard পদ্ধতির জন্য প্রতিক্রিয়া বস্তু।
JSON প্রতিনিধিত্ব | |
---|---|
{ "responseHeader": { object( |
ক্ষেত্র | |
---|---|
responseHeader | প্রয়োজনীয় : সমস্ত প্রতিক্রিয়ার জন্য সাধারণ শিরোনাম। |
cardNetworkResult | প্রয়োজনীয় : কার্ড নেটওয়ার্কে অনুমোদন জারি করার ফলাফল। |
avsResult | ঐচ্ছিক : অনুরোধে পাঠানো ঠিকানা ক্ষেত্র যাচাই করার ফলাফল। অনুরোধে |
cvnResult | প্রয়োজনীয় : অনুরোধে পাঠানো CVN যাচাই করার ফলাফল। যদি অনুরোধে CVN সেট করা না থাকে, তাহলে এই মানটি |
অনুরোধ শিরোনাম
হেডার অবজেক্ট যা সার্ভারে পাঠানো সমস্ত অনুরোধে সংজ্ঞায়িত করা হয়।
JSON প্রতিনিধিত্ব | |
---|---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object( |
ক্ষেত্র | |
---|---|
requestId | প্রয়োজনীয় : এই অনুরোধের অনন্য শনাক্তকারী। এটি এমন একটি স্ট্রিং যার সর্বোচ্চ দৈর্ঘ্য 100টি অক্ষর, এবং এতে শুধুমাত্র "az", "AZ", "0-9", ":", "-", এবং "_" অক্ষর রয়েছে। |
requestTimestamp | প্রয়োজনীয় : এই অনুরোধের টাইমস্ট্যাম্প যুগের পর থেকে মিলিসেকেন্ড হিসাবে উপস্থাপন করা হয়েছে। প্রাপকের অবশ্যই যাচাই করা উচিত যে এই টাইমস্ট্যাম্পটি 'এখন' এর ± 60s। এই অনুরোধ টাইমস্ট্যাম্প পুনঃপ্রচেষ্টার উপর অদম্য নয়। |
userLocale | ঐচ্ছিক : একটি দুই- বা তিন-অক্ষরের ISO 639-2 Alpha 3 ভাষা কোড ঐচ্ছিকভাবে একটি হাইফেন এবং একটি ISO 3166-1 Alpha-2 দেশের কোড, যেমন'pt', 'pt-BR', 'fil', অথবা 'fil-PH'। প্রতিক্রিয়ায় |
protocolVersion | প্রয়োজনীয় : এই অনুরোধের সংস্করণ। |
সংস্করণ
সংস্করণ অবজেক্ট যা ক্লাসিক abc
সংস্করণ কাঠামোর একটি কাঠামোবদ্ধ রূপ। একই সংখ্যার প্রধান সংস্করণগুলি সামঞ্জস্যপূর্ণ হওয়ার গ্যারান্টিযুক্ত। নোট করুন যে গৌণ এবং সংশোধন ঘন ঘন এবং বিজ্ঞপ্তি ছাড়াই পরিবর্তিত হতে পারে। ইন্টিগ্রেটরকে অবশ্যই একই প্রধান সংস্করণের জন্য সমস্ত অনুরোধ সমর্থন করতে হবে।
JSON প্রতিনিধিত্ব | |
---|---|
{ "major": number, "minor": number, "revision": number } |
ক্ষেত্র | |
---|---|
major | প্রয়োজনীয় : প্রধান সংস্করণ। এটি বিভিন্ন সংস্করণের সাথে সামঞ্জস্যের অনুরোধগুলির জন্য চিহ্নিত করা হয়েছে যেগুলি সামঞ্জস্যপূর্ণ হওয়ার নিশ্চয়তা নেই৷ |
minor | প্রয়োজনীয় : ছোট সংস্করণ। এটি উল্লেখযোগ্য বাগ সংশোধন নির্দেশ করে। |
revision | প্রয়োজনীয় : ছোট সংস্করণ। এটি ছোটখাট বাগ ফিক্স বোঝায়। |
স্ট্যান্ডার্ডকার্ড
একটি কার্ডের আদর্শ উপস্থাপনা
JSON প্রতিনিধিত্ব | |
---|---|
{ "accountNumber": string, "expiryDate": string, "cvn": string } |
ক্ষেত্র | |
---|---|
accountNumber | প্রয়োজনীয় : কার্ডের প্রাথমিক অ্যাকাউন্ট নম্বর (PAN) প্লেইন-টেক্সটে। |
expiryDate | ঐচ্ছিক : কার্ডের মেয়াদ শেষ হওয়ার তারিখ MM/YYYY ফর্ম্যাটে। ঐচ্ছিক কারণ নির্দিষ্ট অঞ্চলে নির্দিষ্ট কার্ডের মেয়াদ শেষ হওয়ার তারিখ নেই। |
cvn | ঐচ্ছিক : যদি Google ব্যবহারকারীর কাছ থেকে CVN সংগ্রহ করে থাকে তবে তা এখানে প্রদান করা হয়েছে এবং যাচাই করা উচিত। |
AvsData
AVS দ্বারা যাচাই করা ঠিকানা ক্ষেত্র রয়েছে৷
JSON প্রতিনিধিত্ব | |
---|---|
{ "streetAddress": string, "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
ক্ষেত্র | |
---|---|
streetAddress | ঐচ্ছিক : ব্যবহারকারীর বিলিং ঠিকানার রাস্তার ঠিকানা। যখন ব্যবহারকারী তাদের রাস্তার ঠিকানা ইনপুট করার জন্য একাধিক লাইন প্রদান করে (যেমন, অ্যাপার্টমেন্ট নম্বরের জন্য একটি লাইন), লাইনগুলি স্পেস দিয়ে সংযুক্ত করা হয়। |
localityName | ঐচ্ছিক : এটি একটি অস্পষ্ট শব্দ, কিন্তু এটি সাধারণত একটি ঠিকানার শহর/শহরের অংশকে বোঝায়। বিশ্বের এমন অঞ্চলে যেখানে লোকালয়টি ভালভাবে সংজ্ঞায়িত করা হয় না বা এই কাঠামোর সাথে ভালভাবে ফিট করে না (উদাহরণস্বরূপ, জাপান এবং চীন), localityName খালি রাখুন এবং address_line ব্যবহার করুন। উদাহরণ: ইউএস সিটি, আইটি কমিউন, ইউকে পোস্ট টাউন। |
administrativeAreaName | ঐচ্ছিক : ব্যবহারকারীর বিলিং ঠিকানার জন্য এই দেশের শীর্ষ-স্তরের প্রশাসনিক উপবিভাগ। উদাহরণ: মার্কিন রাজ্য, আইটি অঞ্চল, যুক্তরাজ্যের উপাদান দেশ, জেপি প্রিফেকচার যখন দেশ == US, এটি US রাজ্যের জন্য 2-অক্ষরের সংক্ষিপ্ত রূপ বলে প্রত্যাশিত৷ |
postalCodeNumber | ঐচ্ছিক : ব্যবহারকারীর বিলিং পোস্টাল কোড। |
countryCode | ঐচ্ছিক : ISO-3166-1 আলফা-2 ফর্ম্যাটে ব্যবহারকারীর বিলিং ঠিকানার দেশের কোড। |
রেসপন্স হেডার
হেডার অবজেক্ট যা সার্ভার থেকে প্রেরিত সমস্ত প্রতিক্রিয়াতে সংজ্ঞায়িত করা হয়।
JSON প্রতিনিধিত্ব | |
---|---|
{ "responseTimestamp": string } |
ক্ষেত্র | |
---|---|
responseTimestamp | প্রয়োজনীয় : এই প্রতিক্রিয়ার টাইমস্ট্যাম্প যুগ থেকে মিলিসেকেন্ড হিসাবে উপস্থাপন করা হয়েছে। প্রাপকের অবশ্যই যাচাই করা উচিত যে এই টাইমস্ট্যাম্পটি 'এখন' এর ± 60s। |
কার্ডনেটওয়ার্ক ফলাফল
একটি নেটওয়ার্ক এবং সেই নেটওয়ার্ক থেকে একটি কাঁচা ফলাফল কোড রয়েছে৷
JSON প্রতিনিধিত্ব | |
---|---|
{
"network": enum( |
ক্ষেত্র | |
---|---|
network | প্রয়োজনীয় : ফলাফল কোড যে নেটওয়ার্ক থেকে এসেছে। |
iso8583Result | প্রয়োজনীয় : ISO-8583 রিটার্ন কোড নেটওয়ার্ক দ্বারা ফেরত দেওয়া হয়েছে৷ যদি নেটওয়ার্ক তাদের নিজস্ব প্রতিক্রিয়া কোড বিন্যাস ব্যবহার করে, ইন্টিগ্রেটরকে অবশ্যই সেই প্রতিক্রিয়া কোডগুলিকে ISO-8583 রিটার্ন কোডগুলিতে ম্যাপ করতে হবে। |
rawNetworkResult | প্রয়োজনীয় : নেটওয়ার্ক থেকে পাওয়া কাঁচা মান। যে নেটওয়ার্কগুলি ইতিমধ্যেই ISO-8583 রিটার্ন কোড ব্যবহার করে তাদের এই ক্ষেত্রে এবং |
নেটওয়ার্ক
সম্ভাব্য কার্ড নেটওয়ার্কগুলিকে সংজ্ঞায়িত করে যা rawResult
ফেরত দিতে পারে।
Enums | |
---|---|
UNKNOWN_NETWORK | নেটওয়ার্ক স্বীকৃত ছিল না |
NETWORK_NOT_INVOLVED | এই মানটি ব্যবহার করুন যদি পতন নেটওয়ার্ক থেকে না আসে, উদাহরণস্বরূপ যদি ইন্টিগ্রেটর কার্ড নেটওয়ার্কে পাঠানোর আগেই ক্রয়টি প্রত্যাখ্যান করে। |
AMEX | AMEX নেটওয়ার্ক |
COMPROCARD | কমপ্রোকার্ড নেটওয়ার্ক |
DANKORT | ডানকোর্ট নেটওয়ার্ক |
DINACARD | ডিনাকার্ড নেটওয়ার্ক |
DINERS_CLUB | DINERS_CLUB নেটওয়ার্ক |
DISCOVER | নেটওয়ার্ক আবিষ্কার করুন |
EFTPOS | EFTPOS নেটওয়ার্ক |
ELO | ইএলও নেটওয়ার্ক |
ENROUTE | এনরুটে নেটওয়ার্ক |
FELICA | ফেলিকা নেটওয়ার্ক |
GE_CAPITAL | GE_CAPITAL নেটওয়ার্ক |
HIPERCARD | হাইপারকার্ড নেটওয়ার্ক |
ID | আইডি নেটওয়ার্ক |
INTERAC | ইন্টারক নেটওয়ার্ক |
JCB | জেসিবি নেটওয়ার্ক |
LASER | লেজার নেটওয়ার্ক |
MAESTRO | মায়েস্ট্রো নেটওয়ার্ক |
MASTERCARD | মাস্টারকার্ড নেটওয়ার্ক |
PPT | পিপিটি নেটওয়ার্ক |
QUICPAY | QUICPAY নেটওয়ার্ক |
RUPAY | RUPAY নেটওয়ার্ক |
SBERCARD | SBERCARD নেটওয়ার্ক |
SOLO | সোলো নেটওয়ার্ক |
SYNCHRONY | সিঙ্ক্রোনি নেটওয়ার্ক |
UNIONPAY | UNIONPAY নেটওয়ার্ক |
VISA | ভিসা নেটওয়ার্ক |
Avs ফলাফল
অনুরোধে প্রদত্ত ঠিকানা ক্ষেত্রগুলি যাচাই করার ফলাফল।
সমস্ত ক্ষেত্র প্রয়োজন কারণ আমরা একটি অন্তর্নিহিত ফলাফল হিসাবে একটি ক্ষেত্রের অনুপস্থিতির উপর নির্ভর না করে প্রতিটি ক্ষেত্রের জন্য একটি সুস্পষ্ট ফলাফল চাই৷
JSON প্রতিনিধিত্ব | |
---|---|
{ "rawAvsResult": string, "streetAddress": enum( |
ক্ষেত্র | |
---|---|
rawAvsResult | প্রয়োজনীয় : কার্ড নেটওয়ার্ক থেকে প্রাপ্ত কাঁচা AVS মান। |
streetAddress | প্রয়োজনীয় : অনুরোধের যদি অনুরোধে ক্ষেত্রটি সেট করা না থাকে তবে এই মানটি "NOT_SENT" হওয়া উচিত। |
localityName | প্রয়োজনীয় : অনুরোধের যদি অনুরোধে ক্ষেত্রটি সেট করা না থাকে তবে এই মানটি "NOT_SENT" হওয়া উচিত। |
administrativeAreaName | প্রয়োজনীয় : অনুরোধের যদি অনুরোধে ক্ষেত্রটি সেট করা না থাকে তবে এই মানটি "NOT_SENT" হওয়া উচিত। |
postalCodeNumber | প্রয়োজনীয় : অনুরোধের যদি অনুরোধে ক্ষেত্রটি সেট করা না থাকে তবে এই মানটি "NOT_SENT" হওয়া উচিত। |
countryCode | প্রয়োজনীয় : অনুরোধের যদি অনুরোধে ক্ষেত্রটি সেট করা না থাকে তবে এই মানটি "NOT_SENT" হওয়া উচিত। |
যাচাইকরণের ফলাফল
Enums | |
---|---|
UNKNOWN_AVS_MATCH | এই ডিফল্ট মান সেট করবেন না! |
NOT_SENT | Google এই ক্ষেত্রটি পাঠায়নি তাই এটি দিয়ে কিছুই করা যায়নি। |
MATCH | Google ফিল্ডটি ইন্টিগ্রেটরের কাছে পাঠিয়েছে এবং এটি AVS এর মাধ্যমে চেক করা হয়েছে এবং এটি প্রত্যাশিত মানের সাথে মিলেছে। |
MISMATCH | Google ফিল্ডটি ইন্টিগ্রেটরে পাঠিয়েছে এবং এটি AVS এর মাধ্যমে চেক করা হয়েছে কিন্তু প্রত্যাশিত মানের সাথে মেলেনি। |
SKIPPED | গুগল ফিল্ডটি ইন্টিগ্রেটরের কাছে পাঠিয়েছে কিন্তু ইন্টিগ্রেটর ফিল্ড চেক করেনি। |
NOT_SPECIFIED | Google ফিল্ডটি ইন্টিগ্রেটরের কাছে পাঠিয়েছে এবং ইন্টিগ্রেটর AVS এর মাধ্যমে ক্ষেত্রটি পরীক্ষা করেছে, কিন্তু AVS ফলাফল কোডটি ইন্টিগ্রেটরের জন্য প্রত্যাশিত মানের সাথে মিলছে কিনা তা জানার জন্য যথেষ্ট তথ্য প্রদান করে না। |
Cvn ফলাফল
অনুরোধে প্রদত্ত CVN যাচাই করার ফলাফল।
Enums | |
---|---|
UNKNOWN_CVN_RESULT | এই ডিফল্ট মান সেট করবেন না! |
NOT_SENT | Google CVN প্রদান করেনি, তাই এটি যাচাই করা যায়নি। |
NOT_VERIFIED | গুগল সিভিএন পাঠিয়েছে, কিন্তু তা যাচাই করা হয়নি। এটি "F" এর একটি নেটওয়ার্ক ফলাফল কোডের সাথে মিলে যায় |
MATCH | গুগল সিভিএন পাঠিয়েছে, এটি যাচাই করা হয়েছে এবং এটি মিলেছে। এটি "M" এর একটি নেটওয়ার্ক ফলাফল কোডের সাথে মিলে যায়। |
MISMATCH | গুগল সিভিএন পাঠিয়েছে, তা যাচাই করা হয়েছে, কিন্তু মেলেনি। এটি "N" এর একটি নেটওয়ার্ক ফলাফল কোডের সাথে মিলে যায়। |