Method: card.verifycard

এটি বৈধ কিনা তা দেখতে একটি ব্যবহারকারীর কার্ড যাচাই করে।

ব্যবহারকারীর কার্ডের বিশদ বিবরণ যাচাই করতে এবং কার্ডটি অর্থপ্রদানের জন্য ব্যবহার করা যেতে পারে কিনা তা দেখার জন্য 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": {
    object(StandardCard)
  },
  "avsData": {
    object(AvsData)
  }
}
ক্ষেত্র
requestHeader

object( RequestHeader )

প্রয়োজনীয় : সমস্ত অনুরোধের জন্য সাধারণ শিরোনাম।

standardCard

object( StandardCard )

প্রয়োজনীয় : ব্যবহারকারীর পেমেন্ট কার্ড সম্পর্কে ডেটা।

avsData

object( AvsData )

ঐচ্ছিক : ব্যবহারকারীর ঠিকানা AVS দ্বারা যাচাই করা হবে।

প্রতিক্রিয়া শরীর

সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:

পেমেন্ট ইন্টিগ্রেটর হোস্ট করা card.verifycard পদ্ধতির জন্য প্রতিক্রিয়া বস্তু।

JSON প্রতিনিধিত্ব
{
  "responseHeader": {
    object(ResponseHeader)
  },
  "cardNetworkResult": {
    object(CardNetworkResult)
  },
  "avsResult": {
    object(AvsResult)
  },
  "cvnResult": enum(CvnResult)
}
ক্ষেত্র
responseHeader

object( ResponseHeader )

প্রয়োজনীয় : সমস্ত প্রতিক্রিয়ার জন্য সাধারণ শিরোনাম।

cardNetworkResult

object( CardNetworkResult )

প্রয়োজনীয় : কার্ড নেটওয়ার্কে অনুমোদন জারি করার ফলাফল।

avsResult

object( AvsResult )

ঐচ্ছিক : অনুরোধে পাঠানো ঠিকানা ক্ষেত্র যাচাই করার ফলাফল।

অনুরোধে addressVerificationSystemData সেট করা থাকলে এই ক্ষেত্রটি প্রয়োজন।

cvnResult

enum( CvnResult )

প্রয়োজনীয় : অনুরোধে পাঠানো CVN যাচাই করার ফলাফল। যদি অনুরোধে CVN সেট করা না থাকে, তাহলে এই মানটি NOT_SENT হওয়া উচিত।

অনুরোধ শিরোনাম

হেডার অবজেক্ট যা সার্ভারে পাঠানো সমস্ত অনুরোধে সংজ্ঞায়িত করা হয়।

JSON প্রতিনিধিত্ব
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object(Version)
  }
}
ক্ষেত্র
requestId

string

প্রয়োজনীয় : এই অনুরোধের অনন্য শনাক্তকারী।

এটি এমন একটি স্ট্রিং যার সর্বোচ্চ দৈর্ঘ্য 100টি অক্ষর, এবং এতে শুধুমাত্র "az", "AZ", "0-9", ":", "-", এবং "_" অক্ষর রয়েছে।

requestTimestamp

string ( int64 format)

প্রয়োজনীয় : এই অনুরোধের টাইমস্ট্যাম্প যুগের পর থেকে মিলিসেকেন্ড হিসাবে উপস্থাপন করা হয়েছে। প্রাপকের অবশ্যই যাচাই করা উচিত যে এই টাইমস্ট্যাম্পটি 'এখন' এর ± 60s। এই অনুরোধ টাইমস্ট্যাম্প পুনঃপ্রচেষ্টার উপর অদম্য নয়।

userLocale
(deprecated)

string

ঐচ্ছিক : একটি দুই- বা তিন-অক্ষরের ISO 639-2 Alpha 3 ভাষা কোড ঐচ্ছিকভাবে একটি হাইফেন এবং একটি ISO 3166-1 Alpha-2 দেশের কোড, যেমন'pt', 'pt-BR', 'fil', অথবা 'fil-PH'। প্রতিক্রিয়ায় user_message ক্ষেত্রগুলি চালাতে সাহায্য করতে এটি ব্যবহার করুন৷

protocolVersion

object( Version )

প্রয়োজনীয় : এই অনুরোধের সংস্করণ।

সংস্করণ

সংস্করণ অবজেক্ট যা ক্লাসিক abc সংস্করণ কাঠামোর একটি কাঠামোবদ্ধ রূপ। একই সংখ্যার প্রধান সংস্করণগুলি সামঞ্জস্যপূর্ণ হওয়ার গ্যারান্টিযুক্ত। নোট করুন যে গৌণ এবং সংশোধন ঘন ঘন এবং বিজ্ঞপ্তি ছাড়াই পরিবর্তিত হতে পারে। ইন্টিগ্রেটরকে অবশ্যই একই প্রধান সংস্করণের জন্য সমস্ত অনুরোধ সমর্থন করতে হবে।

JSON প্রতিনিধিত্ব
{
  "major": number,
  "minor": number,
  "revision": number
}
ক্ষেত্র
major

number

প্রয়োজনীয় : প্রধান সংস্করণ। এটি বিভিন্ন সংস্করণের সাথে সামঞ্জস্যের অনুরোধগুলির জন্য চিহ্নিত করা হয়েছে যেগুলি সামঞ্জস্যপূর্ণ হওয়ার নিশ্চয়তা নেই৷

minor

number

প্রয়োজনীয় : ছোট সংস্করণ। এটি উল্লেখযোগ্য বাগ সংশোধন নির্দেশ করে।

revision

number

প্রয়োজনীয় : ছোট সংস্করণ। এটি ছোটখাট বাগ ফিক্স বোঝায়।

স্ট্যান্ডার্ডকার্ড

একটি কার্ডের আদর্শ উপস্থাপনা

JSON প্রতিনিধিত্ব
{
  "accountNumber": string,
  "expiryDate": string,
  "cvn": string
}
ক্ষেত্র
accountNumber

string

প্রয়োজনীয় : কার্ডের প্রাথমিক অ্যাকাউন্ট নম্বর (PAN) প্লেইন-টেক্সটে।

expiryDate

string

ঐচ্ছিক : কার্ডের মেয়াদ শেষ হওয়ার তারিখ MM/YYYY ফর্ম্যাটে। ঐচ্ছিক কারণ নির্দিষ্ট অঞ্চলে নির্দিষ্ট কার্ডের মেয়াদ শেষ হওয়ার তারিখ নেই।

cvn

string

ঐচ্ছিক : যদি Google ব্যবহারকারীর কাছ থেকে CVN সংগ্রহ করে থাকে তবে তা এখানে প্রদান করা হয়েছে এবং যাচাই করা উচিত।

AvsData

AVS দ্বারা যাচাই করা ঠিকানা ক্ষেত্র রয়েছে৷

JSON প্রতিনিধিত্ব
{
  "streetAddress": string,
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string
}
ক্ষেত্র
streetAddress

string

ঐচ্ছিক : ব্যবহারকারীর বিলিং ঠিকানার রাস্তার ঠিকানা। যখন ব্যবহারকারী তাদের রাস্তার ঠিকানা ইনপুট করার জন্য একাধিক লাইন প্রদান করে (যেমন, অ্যাপার্টমেন্ট নম্বরের জন্য একটি লাইন), লাইনগুলি স্পেস দিয়ে সংযুক্ত করা হয়।

localityName

string

ঐচ্ছিক : এটি একটি অস্পষ্ট শব্দ, কিন্তু এটি সাধারণত একটি ঠিকানার শহর/শহরের অংশকে বোঝায়। বিশ্বের এমন অঞ্চলে যেখানে লোকালয়টি ভালভাবে সংজ্ঞায়িত করা হয় না বা এই কাঠামোর সাথে ভালভাবে ফিট করে না (উদাহরণস্বরূপ, জাপান এবং চীন), localityName খালি রাখুন এবং address_line ব্যবহার করুন।

উদাহরণ: ইউএস সিটি, আইটি কমিউন, ইউকে পোস্ট টাউন।

administrativeAreaName

string

ঐচ্ছিক : ব্যবহারকারীর বিলিং ঠিকানার জন্য এই দেশের শীর্ষ-স্তরের প্রশাসনিক উপবিভাগ।

উদাহরণ: মার্কিন রাজ্য, আইটি অঞ্চল, যুক্তরাজ্যের উপাদান দেশ, জেপি প্রিফেকচার

যখন দেশ == US, এটি US রাজ্যের জন্য 2-অক্ষরের সংক্ষিপ্ত রূপ বলে প্রত্যাশিত৷

postalCodeNumber

string

ঐচ্ছিক : ব্যবহারকারীর বিলিং পোস্টাল কোড।

countryCode

string

ঐচ্ছিক : ISO-3166-1 আলফা-2 ফর্ম্যাটে ব্যবহারকারীর বিলিং ঠিকানার দেশের কোড।

রেসপন্স হেডার

হেডার অবজেক্ট যা সার্ভার থেকে প্রেরিত সমস্ত প্রতিক্রিয়াতে সংজ্ঞায়িত করা হয়।

JSON প্রতিনিধিত্ব
{
  "responseTimestamp": string
}
ক্ষেত্র
responseTimestamp

string ( int64 format)

প্রয়োজনীয় : এই প্রতিক্রিয়ার টাইমস্ট্যাম্প যুগ থেকে মিলিসেকেন্ড হিসাবে উপস্থাপন করা হয়েছে। প্রাপকের অবশ্যই যাচাই করা উচিত যে এই টাইমস্ট্যাম্পটি 'এখন' এর ± 60s।

কার্ডনেটওয়ার্ক ফলাফল

একটি নেটওয়ার্ক এবং সেই নেটওয়ার্ক থেকে একটি কাঁচা ফলাফল কোড রয়েছে৷

JSON প্রতিনিধিত্ব
{
  "network": enum(Network),
  "iso8583Result": string,
  "rawNetworkResult": string
}
ক্ষেত্র
network

enum( Network )

প্রয়োজনীয় : ফলাফল কোড যে নেটওয়ার্ক থেকে এসেছে।

iso8583Result

string

প্রয়োজনীয় : ISO-8583 রিটার্ন কোড নেটওয়ার্ক দ্বারা ফেরত দেওয়া হয়েছে৷

যদি নেটওয়ার্ক তাদের নিজস্ব প্রতিক্রিয়া কোড বিন্যাস ব্যবহার করে, ইন্টিগ্রেটরকে অবশ্যই সেই প্রতিক্রিয়া কোডগুলিকে ISO-8583 রিটার্ন কোডগুলিতে ম্যাপ করতে হবে।

rawNetworkResult

string

প্রয়োজনীয় : নেটওয়ার্ক থেকে পাওয়া কাঁচা মান। যে নেটওয়ার্কগুলি ইতিমধ্যেই ISO-8583 রিটার্ন কোড ব্যবহার করে তাদের এই ক্ষেত্রে এবং iso8583Result একই মান থাকবে। এই ক্ষেত্রটি Google-এর ঝুঁকি ইঞ্জিনকে জানানোর জন্য ব্যবহার করা হয় এবং তাদের নিজস্ব প্রতিক্রিয়া কোড ব্যবহার করে এমন নেটওয়ার্কগুলির জন্য সবচেয়ে উপযোগী।

নেটওয়ার্ক

সম্ভাব্য কার্ড নেটওয়ার্কগুলিকে সংজ্ঞায়িত করে যা 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(VerificationResult),
  "localityName": enum(VerificationResult),
  "administrativeAreaName": enum(VerificationResult),
  "postalCodeNumber": enum(VerificationResult),
  "countryCode": enum(VerificationResult)
}
ক্ষেত্র
rawAvsResult

string

প্রয়োজনীয় : কার্ড নেটওয়ার্ক থেকে প্রাপ্ত কাঁচা AVS মান।

streetAddress

enum( VerificationResult )

প্রয়োজনীয় : অনুরোধের addressVerificationSystemData ক্ষেত্রে পাঠানো streetAddress যাচাই করার ফলাফল।

যদি অনুরোধে ক্ষেত্রটি সেট করা না থাকে তবে এই মানটি "NOT_SENT" হওয়া উচিত।

localityName

enum( VerificationResult )

প্রয়োজনীয় : অনুরোধের addressVerificationSystemData ফিল্ডে প্রেরিত localityName যাচাই করার ফলাফল।

যদি অনুরোধে ক্ষেত্রটি সেট করা না থাকে তবে এই মানটি "NOT_SENT" হওয়া উচিত।

administrativeAreaName

enum( VerificationResult )

প্রয়োজনীয় : অনুরোধের addressVerificationSystemData সিস্টেমডেটা ক্ষেত্রে পাঠানো administrativeAreaName নাম যাচাই করার ফলাফল।

যদি অনুরোধে ক্ষেত্রটি সেট করা না থাকে তবে এই মানটি "NOT_SENT" হওয়া উচিত।

postalCodeNumber

enum( VerificationResult )

প্রয়োজনীয় : অনুরোধের addressVerificationSystemData ক্ষেত্রে পাঠানো postalCodeNumber যাচাই করার ফলাফল।

যদি অনুরোধে ক্ষেত্রটি সেট করা না থাকে তবে এই মানটি "NOT_SENT" হওয়া উচিত।

countryCode

enum( VerificationResult )

প্রয়োজনীয় : অনুরোধের addressVerificationSystemData ক্ষেত্রে পাঠানো 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" এর একটি নেটওয়ার্ক ফলাফল কোডের সাথে মিলে যায়।