টিউটোরিয়াল

এই টিউটোরিয়ালে দেওয়া ধাপগুলি অনুসরণ করে একটি ওয়েব অ্যাপ্লিকেশনকে Google Pay API-এর সাথে একীভূত করুন এবং পেমেন্ট কার্ড গ্রহণের জন্য এটি কনফিগার করুন।

ধাপ ১: আপনার Google Pay API ভার্সন নির্ধারণ করুন

আপনার সাইটে ব্যবহৃত Google Pay API-এর ভার্সনটি ঘোষণা করুন। প্রতিটি পাস করা অবজেক্টের ক্ষেত্রে মেজর এবং মাইনর ভার্সনগুলি প্রয়োজন এবং প্রতিক্রিয়াতে অন্তর্ভুক্ত করা হয়েছে।

নিম্নলিখিত কোড নমুনা ঘোষিত API সংস্করণগুলি দেখায়:

const baseRequest = {
  apiVersion: 2,
  apiVersionMinor: 0
};

ধাপ ২: আপনার পেমেন্ট প্রদানকারীর জন্য একটি পেমেন্ট টোকেনের অনুরোধ করুন

পেমেন্ট প্রদানকারীর দ্বারা নিরাপদ প্রক্রিয়াকরণের জন্য, Google একজন পেমেন্টকারীর নির্বাচিত কার্ড সম্পর্কে তথ্য এনক্রিপ্ট করে।

const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
    'gateway': 'example',
    'gatewayMerchantId': 'exampleGatewayMerchantId'
  }
};

আপনার পেমেন্ট প্রদানকারীর জন্য উপযুক্ত মান দিয়ে example এবং exampleGatewayMerchantId প্রতিস্থাপন করুন। আপনার পেমেন্ট প্রদানকারীর জন্য নির্দিষ্ট gateway এবং gatewayMerchantId মানগুলি খুঁজে পেতে নিম্নলিখিত টেবিলটি ব্যবহার করুন:

প্রবেশপথ পরামিতি এবং নথি
9Pay সম্পর্কে
  "gateway": "ninepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ABA PayWay সম্পর্কে
  "gateway": "ababank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

গ্রহণ করুন। নীল
  "gateway": "acceptblue"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এসিআই
  "gateway": "aciworldwide"
  "gatewayMerchantId": "YOUR_ENTITY_ID"

ডেভেলপার ডক্স

ACpay সম্পর্কে
  "gateway": "acpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অ্যাকুইয়ার্ড.কম
  "gateway": "acquired"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অ্যাডিয়েন
  "gateway": "adyen"
  "gatewayMerchantId": "YOUR_MERCHANT_ACCOUNT_NAME"

ডেভেলপার ডক্স

এআই ফিনটেক
  "gateway": "aifintech"
  "gatewayMerchantId": "YOUR_MERCHANT_ACCOUNT_NAME"

ডেভেলপার ডক্স

এয়ারবা পে
  "gateway": "airbapay""
  "gatewayMerchantId": "YOUR_MERCHANT_ACCOUNT_NAME"

ডেভেলপার ডক্স

এয়ারভেন্ড
  "gateway": "airvend"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এয়ারওয়ালেক্স
  "gateway": "airwallex"
  "gatewayMerchantId": "YOUR_MERCHANT_ACCOUNT_NAME"

ডেভেলপার ডক্স

আকুরাটেকো
  "gateway": "akuratecolab"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আলফা-ব্যাংক
  "gateway": "alfabank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অ্যালগরিদম
  "gateway": "algoritma"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অ্যালিনপে
  "gateway": "allinpayintl"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সমস্ত অর্থপ্রদান
  "gateway": "allpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অল্টিসপে
  "gateway": "alticepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

AMO FINTECH LLC সম্পর্কে
  "gateway": "amofintech"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আমওয়াল পে
  "gateway": "amwalalraqamia"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

অ্যানেডোট
  "gateway": "anedot"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ApcoPay সম্পর্কে
  "gateway": "apcopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অ্যাপেক্স
  "gateway": "epos"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এশিয়াবিল
  "gateway": "asiabill"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

সহায়তা করুন
  "gateway": "assist"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বেলারুশকে সহায়তা করুন
  "gateway": "belassist"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কাজাখস্তানকে সহায়তা করুন
  "gateway": "assistkz"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অরাস
  "gateway": "auruspay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

Authorize.net সম্পর্কে
  "gateway": "authorizenet"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এক্সার্ভ
  "gateway": "gestpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

azericardgpay সম্পর্কে
  "gateway": "azericardgpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

B2B সফট পে
  "gateway": "b2bsoftpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্যাংক ১৩১
  "gateway": "bank131"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্যাংক আরবিকে
  "gateway": "bankrbkkzpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্যাংক ভস্টক
  "gateway": "bankvostok"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বার্কলেকার্ড
  "gateway": "barclayssmartpayadvance"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্যারিয়ন
  "gateway": "barion"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ভিত্তি তত্ত্ব
  "gateway": "basistheory"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বিসিসি.কেজেড
  "gateway": "bccpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বিপেইড
  "gateway": "ecomcharge"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বেরেকে ব্যাংক
  "gateway": "berekepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বিলিং সিস্টেম
  "gateway": "billingsystems"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বিন্দু ল্যাবস লিমিটেড
  "gateway": "bindo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অনুসরণ
  "gateway": "bisysgpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বিজন
  "gateway": "bizzon"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্লক
  "gateway": "blocks"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্লুফিন
  "gateway": "bluefin"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্লুফিন ইউরোপ
  "gateway": "bluefineurope"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্লু মিডিয়া
  "gateway": "bluemedia"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্লুস্ন্যাপ
  "gateway": "bluesnap"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বোরিকা
  "gateway": "borica"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বিপিসি
  "gateway": "bpcpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বিআর-ডিজিই
  "gateway": "comcarde"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্রেইনট্রি
  "gateway": "braintree"
  "braintree:apiVersion": "v1"
  "braintree:sdkVersion": "braintree.client.VERSION"
  "braintree:merchantId": "YOUR_BRAINTREE_MERCHANT_ID"
  "braintree:clientKey": "YOUR_BRAINTREE_TOKENIZATION_KEY"

ডেভেলপার ডক্স

ব্রাসপ্যাগ
  "gateway": "cielo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্রিজারপে
  "gateway": "bridgerpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বিটি পে
  "gateway": "btpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বাকারু
  "gateway": "buckaroo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বুয়া
  "gateway": "buya"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কার্ডকম
  "gateway": "cardcom"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কার্ডকানেক্ট
  "gateway": "cardconnect"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কার্ডনক্স
  "gateway": "cardknox"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কার্ডলিঙ্ক
  "gateway": "cardlink"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কার্ডস্ট্রিম
  "gateway": "crst"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নগদ প্রবাহ
  "gateway": "cashflowsgateway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ক্যাথে ইউনাইটেড ব্যাংক
  "gateway": "cathaybk"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সিসিএভিনিউ সংযুক্ত আরব আমিরাত
  "gateway": "ccavenueuae"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সিসিভি
  "gateway": "ccv"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সেকাব্যাঙ্ক
  "gateway": "cecabank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

Celerispay সম্পর্কে
  "gateway": "celerispay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সেন্ট্রালপে
  "gateway": "centralpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

চার্জহাইভ
  "gateway": "chargehive"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

চ্যারিটি ইঞ্জিন
  "gateway": "charityengine"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

চেজ মার্চেন্ট সার্ভিসেস
  "gateway": "chase"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

চেকআউট.কম
  "gateway": "checkoutltd"
  "gatewayMerchantId": "YOUR_PUBLIC_KEY"

ডেভেলপার ডক্স

সিটিপে
  "gateway": "citypay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ক্লাউড৯ পেমেন্ট গেটওয়ে (C9PG)
  "gateway": "c9pg"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ক্লাউডপেমেন্টস
  "gateway": "cloudpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ক্লাউডওয়াক
  "gateway": "cloudwalk"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কয়েনফ্লো
  "gateway": "coinflow"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কম্পিউটার
  "gateway": "computop"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কনকর্ডপে
  "gateway": "concordpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কানেক্টাম
  "gateway": "connectum"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ConnexPay সম্পর্কে
  "gateway": "connexpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কোরালপে
  "gateway": "coralpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কোরফাই
  "gateway": "paycoreio"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

করভাস পে
  "gateway": "corvuspay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ক্রেডোরাক্স
  "gateway": "credorax"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ক্রসপে
  "gateway": "crosspay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ক্রস সুইচ
  "gateway": "crossswitch"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সিএসজি ফোর্ট
  "gateway": "csgforte"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সিটিবিসি ব্যাংক
  "gateway": "ctbcbank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

CURO পেমেন্টস
  "gateway": "curopayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সাইবারবিজ
  "gateway": "cyberbizpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সাইবারসোর্স
  "gateway": "cybersource"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ড্যানুব.পে
  "gateway": "danubepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ডেটাক্যাপ সিস্টেমস, ইনকর্পোরেটেড।
  "gateway": "datatrans"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ডেটাট্রান্স
  "gateway": "datatrans"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

DECTA সম্পর্কে
  "gateway": "decta"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট নেই

দেজাভু
  "gateway": "denovosystempay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

দেউনা
  "gateway": "deuna"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ডয়চে ব্যাংক এজি
  "gateway":
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট নেই

ডয়েচে ব্যাংক – মার্চেন্ট সলিউশন
  "gateway":
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ডিজি ফাইন্যান্সিয়াল টেকনোলজি, ইনকর্পোরেটেড।
  "gateway": "veritrans"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ডিজিটাল ফাইন্যান্স
  "gateway": "digitalfinance"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ডিন্টেরো
  "gateway": "dintero"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

dLocal সম্পর্কে
  "gateway": "dlocal"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ডিএনএ পেমেন্টস
  "gateway": "dnapayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

দোজো
  "gateway": "dojo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ডটপে
  "gateway": "dotpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

e-SiTef - সফটওয়্যার এক্সপ্রেস
  "gateway": "softwareexpress"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সহজ কার্ড
  "gateway": "easycard"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইজিপে
  "gateway": "easypay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইজিপে ইইউ
  "gateway": "easypaypt"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইব্যাঙ্কস
  "gateway": "ebanx"
  "gatewayMerchantId": "YOUR_PUBLIC_INTEGRATION_KEY"

ডেভেলপার ডক্স

ইকার্ড
  "gateway": "ecard"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইকমপে
  "gateway": "ecommpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইকোপেনেট
  "gateway": "ecopaynet"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ECPay সম্পর্কে
  "gateway": "ecpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

ইএফটি কর্পোরেশন
  "gateway": "eftcorporation"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

eGHL সম্পর্কে
  "gateway": "eghl"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এলাভন (কনভার্জ)
  "gateway": "convergepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এমারচ্যান্টপে
  "gateway": "emerchantpay"
  "gatewayMerchantID": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এমএসপে
  "gateway": "emsonline"
  "gatewayMerchantID": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এনকোডেড
  "gateway": "encoded"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইপে
  "gateway": "epay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

EPAYJSC সম্পর্কে
  "gateway": "epayjsc"
  "gatewayMerchantID": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এপিকপে
  "gateway": "epicpay"
  "gatewayMerchantID": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এস্পাগো
  "gateway": "espago"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এতিসালাত
  "gateway": "etisalatpaymentgateway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

EveryPay SA সম্পর্কে
  "gateway": "EveryPay S.A."
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এভারভল্ট
  "gateway": "evervault"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইভোনেট
  "gateway": "cardinfolink"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইভোপে
  "gateway": "EVOPAY"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইভো পেমেন্ট গেটওয়ে
  "gateway": "evopaymentgateway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

ঠিক.কম
  "gateway": "exactly"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সঠিক পেমেন্ট
  "gateway": "exactpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মোটা জেব্রা
  "gateway": "fatzebra"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফেনিজ
  "gateway": "fenige"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফেক্সকো পেইউনিট
  "gateway": "fexco"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফিবোনাটিক্স
  "gateway": "fibonatixparagon"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফাইন্যান্সিয়াল লাইন
  "gateway": "finline"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফিনান্সো ইউএ
  "gateway": "finansoua"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

জিএমও দ্বারা ফিনকোড
  "gateway": "fincode"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফিনেক্সাস
  "gateway": "finexus"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফিনিক্স
  "gateway": "finix"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ডিলাক্সের প্রথম আমেরিকান
  "gateway": "firstpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফিউ (পূর্বে রেজার মার্চেন্ট সার্ভিসেস এবং এমওএলপে)
  "gateway": "molpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এফআইএস বিলার সলিউশনস
  "gateway": "fisglobalbsp"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফিসার্ভ
  "gateway": "fiserv"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফিসার্ভ
  "gateway": "fiservipg"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফ্লিট
  "gateway": "flitt"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফ্লুইড পে
  "gateway": "fluidpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এফএম ফাইন্যান্স লিমিটেড
  "gateway": "fmfinanceltd"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফোর্টব্যাঙ্ক
  "gateway": "fortebank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফ্র্যাক্টাল
  "gateway": "fractal"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফ্রিডম ফাইন্যান্স ব্যাংক
  "gateway": "axayscom"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফ্রিডমপে
  "gateway": "freedompay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফ্রিডমপে.মানি
  "gateway": "payboxmoney"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফ্রিপে
  "gateway": "freepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফ্রন্টস্ট্রিম
  "gateway": "frontstreampayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ফাং পেমেন্টস
  "gateway": "fungpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

জিবিপেমেন্টস
  "gateway": "gbpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

গিডিয়া
  "gateway": "geidea"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

GETTRX সম্পর্কে
  "gateway": "globalelectronictechnology"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

গ্লোবাল ওয়ান পে
  "gateway": "globalonepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

গ্লোবাল পেমেন্টস
  "gateway": "globalpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

গ্লোবালপেমেন্টসিংক
  "gateway": "globalpaymentsinc"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

জিএমও পেমেন্ট গেটওয়ে
  "gateway": "gmopg"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

GoDaddy পেমেন্টস
  "gateway": "godaddypayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

গুড আইডিয়া টেকনোলজিস
  "gateway": "git"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

GoPay সম্পর্কে
  "gateway": "gopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

জিপি ওয়েবপে
  "gateway": "gpwebpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

গ্র্যাভিটি পেমেন্টস
  "gateway": "gravitypayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

গ্র৪ভি
  "gateway": "gr4vy"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

হ্যালিক ব্যাংক
  "gateway": "halykbank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

হেলসিম
  "gateway": "helcim"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

হিপস
  "gateway": "hips"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

হাইট্রাস্ট
  "gateway": "hitrustpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

হুটকো
  "gateway": "hutko"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

হাইপ
  "gateway": "hyp"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আইকার্ড
  "gateway": "icardwallet"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

iCount সম্পর্কে
  "gateway": "iCount"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আইডিআইডি টেকনোলজিয়া এলটিডিএ
  "gateway": "idid"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আইখোখা
  "gateway": "ikhokha"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইমোজে
  "gateway": "imoje"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইম্পায়া
  "gateway": "impayarus"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইনোভিও পেমেন্টস
  "gateway": "inoviopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

InPlat সম্পর্কে
  "gateway": "inplat"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইন্সটামেড
  "gateway": "instamed"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইন্টাসেন্ড সলিউশনস লিমিটেড
  "gateway": "intasend"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

IntellectMoney সম্পর্কে
  "gateway": "intellectmoney"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইন্টারেক্টিভ লেনদেন সমাধান
  "gateway": "interactivets"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইন্টারসুইচ পেমেন্ট গ্যালারি
  "gateway": "interswitch"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ব্যবধান
  "gateway": "intervale"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আইওকা ফিনটেক
  "gateway": "ioka"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আইপে৮৮
  "gateway": "ipay88"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আইপিএসআই
  "gateway": "ipsi"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আইকিউমেট্রিক্স
  "gateway": "iqmetrixpaymentservicesgateway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আইক্সোপে
  "gateway": "ixopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

জেটপে
  "gateway": "jetpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

জুডোপে
  "gateway": "judopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

ক্যাপিটালব্যাঙ্ক
  "gateway": "eCommerceKapitalBank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কাসা
  "gateway": "kassacom"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

kassa24pay সম্পর্কে
  "gateway": "kassa24pay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কাইনক্স
  "gateway": "kineox"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সিটাডেলের ক্লাইক্স
  "gateway": "klix"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কোইন
  "gateway": "koin"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কেপে গ্রুপ
  "gateway": "kpaygroup"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ল্যাপসা পেমেন্টস
  "gateway": "lapsapayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এলএইচভি প্যাঙ্ক
  "gateway": "lhvpank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

স্বাধীনতা
  "gateway": "liberty"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

লাইফ পে
  "gateway": "lifepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

লাইমপে
  "gateway": "limepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

লিংকলি
  "gateway": "linkly"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

LiqPay সম্পর্কে
  "gateway": "liqpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

লিটিকন ওÜ
  "gateway": "nuvex"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

লিটলপে
  "gateway": "littlepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

LogPay সম্পর্কে
  "gateway": "logpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

লয়ালে
  "gateway": "loyale"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

লিংক
  "gateway": "lynck"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

লিরা
  "gateway": "lyra"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ম্যাগনেটিক ব্যাংক
  "gateway": "magnetiq"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মাইব
  "gateway": "maibecomm"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মেককমার্স (ম্যাক্সেকেস্কাস)
  "gateway": "maksekeskus"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মাকসু জিএমবিএইচ
  "gateway": "maksupayeu"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ম্যান্ডারিন
  "gateway": "mandarin"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বাজার বেতন
  "gateway": "marketpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মাস্টারকার্ড পেমেন্ট গেটওয়ে পরিষেবা
  "gateway": "mpgs"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মার্চেন্টই
  "gateway": "merchante"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মিডট্রান্স
  "gateway": "midtrans"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মার্চেন্ট ওয়ারিয়র
  "gateway": "merchantwarrior"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মিনসেইট পেমেন্ট সিস্টেমস
  "gateway": "minsaitpaymentsgateway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

MITEC সম্পর্কে
  "gateway": "mitecmx"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মিক্সপ্ল্যাট
  "gateway": "mixplat"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

MOBI.Money সম্পর্কে
  "gateway": "mobimoney"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মডুলব্যাঙ্ক
  "gateway": "modulbank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মলি
  "gateway": "mollie"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মন্ডিডো
  "gateway": "mondido"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মোনেই
  "gateway": "monei"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মোনেক
  "gateway": "monek"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মোনেরিস
  "gateway": "moneris"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মনেটা
  "gateway": "moneta"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

মোনেক্সট
  "gateway": "monext"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মানিহ্যাশ
  "gateway": "moneyhash"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

টাকা.মেইল.রু
  "gateway": "moneymailru"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মনরিপেমেন্ট
  "gateway": "monripayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মুভ
  "gateway": "moov"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

MPay সম্পর্কে
  "gateway": "managepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

mstartipg সম্পর্কে
  "gateway": "mstartipg"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মাল্টিকার্টা
  "gateway": "mulitcarta"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মাল্টিসেফপে
  "gateway": "multisafepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মুন্ডিপাগ
  "gateway": "mundipagg"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

MyCheck সম্পর্কে
  "gateway": "mycheck"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

MyChoice2Pay সম্পর্কে
  "gateway": "mychoice2pay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আমার ফাতুরাহ
    "gateway": "myfatoorah"
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

মাইপে
  "gateway": "mypay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

myPOS সম্পর্কে
  "gateway": "mypos"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এনএন্ডটিএস গ্রুপ
  "gateway": "netsgroup"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এনসিসিসি
  "gateway": "nccc"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নিওলিংক
  "gateway": "neolinkprocessing"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নিয়ন পে
  "gateway": "neonpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নেটোপিয়া
  "gateway": "netopia"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নেটভালভ
  "gateway": "netvalve"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নেটওয়ার্ক ইন্টারন্যাশনাল
  "gateway": "networkintl"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

Newebpay (পূর্বে STPath, Pay2Go)
  "gateway": "newebpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নিউটেক
  "gateway": "newtechmobile"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নেক্সি
  "gateway": "nexi"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নেক্সি ইজি
  "gateway": "easy"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এনএমআই
  "gateway": "gatewayservices"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

দুপুরের পেমেন্ট
  "gateway": "noonpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নোকুডি পে
  "gateway": "noqoodypay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নোভালনেট
  "gateway": "novalnet"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নেক্সি রিলে
  "gateway": "nexirelay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এনটিটি ডেটা
  "gateway": "nttdatahk"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

নুভেই
  "gateway": "nuvei"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সমুদ্র পরিশোধ
  "gateway": "oceanpayment"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওমিস
  "gateway": "omise"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওমনো
  "gateway": "omno"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়ান ইনকর্পোরেটেড
  "gateway": "oneinc"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওনেলিয়া
  "gateway": "onelya"
  "gatewayMerchantId": "YOUR_GATWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অনারওয়ে
  "gateway": "ronghan"
  "gatewayMerchantId": "YOUR_GATWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়ানভিশন লিমিটেড
  "gateway": "onevision"
  "gatewayMerchantId": "YOUR_GATWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অনপে
  "gateway": "onpayio"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইলাভনের ওপায়ো
  "gateway": "opayoelavon"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

OrkestaPay সম্পর্কে
  "gateway": "orkestapay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওসচ্যাডব্যাঙ্ক
  "gateway": "oschadbank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পাগারমে
  "gateway": "pagarme"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্যাগব্যাঙ্ক
  "gateway": "pagbank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্যাগব্রাসিল
  "gateway": "pagbrasil"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্যাগসেগুরো
  "gateway": "pagsegurointernational"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

PAY2M সম্পর্কে
  "gateway": "pay2m"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেয়ার্ক
  "gateway": "payarc"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পে.কম
  "gateway": "paycom"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেকমেট
  "gateway": "paycomet"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেক্রস লিমিটেড
  "gateway": "paycross"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেডক
  "gateway": "paydock"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেইজ
  "gateway": "payeasenet"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেইঞ্জিন
  "gateway": "payengine"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেয়ারম্যাক্স
  "gateway": "payermax"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেফ্যাব্রিক
  "gateway": "payfabric"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

PayFacto সম্পর্কে
  "gateway": "payfacto"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেফাস্ট
  "gateway": "gopayfastuat"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেজেন্ট
  "gateway": "paygent"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেহাব
  "gateway": "payhub"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

PayKKa সম্পর্কে
  "gateway": "paykkaeu"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেলেন
  "gateway": "paylane"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেলার
  "gateway": "payler"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেলিংক®
  "gateway": "paylink"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেলোড
  "gateway": "payload"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেমার্ক
  "gateway": "paymark"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেমাস্টার
  "gateway": "paymaster"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেমেন্ট ফিউশন
  "gateway": "paymentfusion"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেমেন্টভিশন
  "gateway": "paymentvision"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেমেন্টওয়াল
  "gateway": "paymentwall"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেমো
  "gateway": "paymo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেমব
  "gateway": "gpaymob"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেমঙ্গো
  "gateway": "paymongo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেমটেক
  "gateway": "paymtech"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

PayNearMe সম্পর্কে
  "gateway": "paynearme"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেনেটইজি
  "gateway": "payneteasy"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পে.এনএল
  "gateway": "paynl"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেনোপেইন
  "gateway": "paynopain"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেওয়ান
  "gateway": "payone"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেঅনলাইন
  "gateway": "payonline"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেও
  "gateway": "payoo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বেতন তত্ত্ব
  "gateway": "paytheory"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

PayPlus সম্পর্কে
  "gateway": "payplus"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেপ্রো প্রাইভেট লিমিটেড
  "gateway": "paypro"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

পে-রেল
  "gateway": "payrails"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেরেক্স
  "gateway": "payrexx"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

PayRiff সম্পর্কে
  "gateway": "payriff"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেরিক্স
  "gateway": "payrix"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেসেফ
  "gateway": "paysafe"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেস্কাউট
  "gateway": "payscout"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেসেন্ড ব্যবসা
  "gateway": "paysend"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেসফট
  "gateway": "paysoft"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

Pay360 সম্পর্কে
  "gateway": "pay360"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেটেক
  "gateway": "paytechsolutions"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেটেক ইউক্রেন
  "gateway": "paytech"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেটেন পেমেন্ট গেটওয়ে
  "gateway": "paytentr"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেথ্রু
  "gateway": "paythru"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেচার
  "gateway": "payture"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেইউ
  "gateway": "payu"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেইউ ল্যাটাম
  "gateway": "payulatam"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পাইউনি
  "gateway": "payuni"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেইউ রোমানিয়া
  "gateway": "payuro"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেইউ রাশিয়া
  "gateway": "payuru"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেওয়ে
  "gateway": "payway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

Paywiser সম্পর্কে
  "gateway": "paywiser"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেজোন আয়ারল্যান্ড
  "gateway": "payzoneireland"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পিবিটি গেটওয়ে সার্ভিসেস লিমিটেড
  "gateway": "pbtgateway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেলেকার্ড
  "gateway": "pelecard"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেনসোপে
  "gateway": "pensopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পিকাসা
  "gateway": "pikassa"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পিংপং
  "gateway": "pingpongx"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পিন পেমেন্ট
  "gateway": "pinpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

গ্রহ
  "gateway": "cccpayment"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্ল্যানেটপে
  "gateway": "itcardpaymentservice"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্লেটগকা.কম
  "gateway": "plategkacom"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্লাটন
  "gateway": "platon"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পোমেলো
  "gateway": "pomelopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পোর্টমোন
  "gateway": "portmonecom"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্রিজন
  "gateway": "preczn"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্রাইমপে
  "gateway": "primepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্রাইমার
  "gateway": "primer"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্রোকার্ড
  "gateway": "procard"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্রসেসআউট
  "gateway": "processout"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

প্রজেলেউই২৪
  "gateway": "przelewy24"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পিএসসিবি
  "gateway": "pscbru"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পিএসআইগেট ইনকর্পোরেটেড।
  "gateway": "psigate"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পিএক্সপি ফাইন্যান্সিয়াল
  "gateway": "pxpfinancial"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কোয়েন্টা পেমেন্ট সিইই
  "gateway": "qenta"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কিউআইডব্লিউআই
  "gateway": "qiwi"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কোয়ালপে
  "gateway": "qualpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কুইকপে
  "gateway": "quickpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কোয়াভ্যালেন্ট
  "gateway": "qvalent"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রেডিয়াল
  "gateway": "radial"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রাইফেইসেন প্রক্রিয়াকরণ কেন্দ্র
  "gateway": "raiffeisenprocessingcentre"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

র‍্যাপিড
  "gateway": "rapyd"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আরবিকে.মানি
  "gateway": "rbkmoney"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রেবেল ক্যাপিটাল
  "gateway": "rebailcapital"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রেবিলি
  "gateway": "Rebilly"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পুনরাবৃত্তিমূলক
  "gateway": "recurly"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রেডডট
  "gateway": "reddotpayment"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রেড
  "gateway": "rede"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রেডসিস
  "gateway": "redsys"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রিপে
  "gateway": "reepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রকেটগেট
  "gateway": "rocketgate"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রুটলাইন
  "gateway": "rootline"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রাশিয়ান স্ট্যান্ডার্ড ব্যাংক
  "gateway": "rsb"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

রাইফট
  "gateway": "ryft"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সেফপে
  "gateway": "safepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সেফারপে
  "gateway": "worldlinesaferpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সেফেক্সপে
  "gateway": "safexpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

Sberbank সম্পর্কে
  "gateway": "sberbank"
  "gatewayMerchantId": "YOUR_ORGANIZATION_NAME"

ডেভেলপার ডক্স

SEB বাল্টিক
  "gateway": "sebbaltic"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

SEBES প্রযুক্তি
  "gateway": "sebes"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সিকিউরপে
  "gateway": "securepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সেন্স ব্যাংক
  "gateway": "sensebank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সেন্সপাস
  "gateway": "sensepass"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পরিষেবা ডিজিটাল জনপ্রিয় SA
  "gateway": "pagosazul"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

Shift4 সম্পর্কে
  "gateway": "shift4payments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

শিজি গ্রুপ
  "gateway": "shijipaymentsolutions"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এসএইচ স্টার্ট হাই
  "gateway": "shstartpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

শ্বেরেনাপে
  "gateway": "shvarenapay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সিম্বাসফট
  "gateway": "simbasoft"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সিপে
  "gateway": "sipay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

স্মার্টপে
  "gateway": "smartpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সফটব্যাংক পেমেন্ট সার্ভিস
  "gateway": "sbps"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সফটটাচ পিওএস এবং পেমেন্ট
  "gateway": "softtouch"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কঠিন
  "gateway": "solid"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সনি পেমেন্ট সার্ভিসেস
  "gateway": "sonypaymentservices"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

স্প্লিটিট
  "gateway": "splitit"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

দ্রুত
  "gateway": "spreedly"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

বর্গক্ষেত্র
  "gateway": "square"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

স্রেডাপে
  "gateway": "sredapay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

SSLCOMMERZ সম্পর্কে
  "gateway": "sslcommerz"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

স্ট্যানসার
  "gateway": "stancer"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

স্ট্রাইপ
  "gateway": "stripe"
  "stripe:version": "2018-10-31"
  "stripe:publishableKey": "YOUR_PUBLIC_STRIPE_KEY"

ডেভেলপার ডক্স

সুমিট
  "gateway": "sumit"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সানটেক
  "gateway": "esafe"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সার্ফবোর্ড পেমেন্টস
  "gateway": "surfboard"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সভিয়া ব্যাংক
  "gateway": "svea"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সুইডেনব্যাংক বাল্টিক
  "gateway": "swedbankbaltic"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সুইডেনব্যাংক পে
  "gateway": "payexswedbankpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

TabaPay সম্পর্কে
  "gateway": "tabapay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ট্যাপপে (চেরি টেক)
  "gateway": "tappay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ট্যাপপেমেন্টস
  "gateway": "tappayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অনুসরণ
  "gateway": "tarlanpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

টিএএস লিঙ্ক
  "gateway": "taslink"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

টাট্রা ব্যাংক (কার্ডপে)
  "gateway": "tatrabanka"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

টেকো
  "gateway": "teko"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ম্যাপ
  "gateway": "themap"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পেমেন্ট পর্যন্ত
  "gateway": "tillpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

টাইম প্রজেক্ট এলএলসি
  "gateway": "timeproject"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

টিঙ্কফ
  "gateway": "tinkoff"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

টিপটপ পে
  "gateway": "tiptoppay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

টিপে
  "gateway": "tpaycom"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

TPay.com সম্পর্কে
  "gateway": "tpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ট্রানজ্যাক্ট ক্যাম্পাস
  "gateway": "transactcampus"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

লেনদেন প্রো
  "gateway": "transactpro"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

লেনদেন পরিষেবা নেটওয়ার্ক
  "gateway": "tns"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ট্রান্সপেয়রেন্ট
  "gateway": "transpayrent"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ট্রানজিলা
  "gateway": "tranzila"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ট্রানজো
  "gateway": "tranzzo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ট্রাইব পেমেন্টস
  "gateway": "tribepayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ট্রুভো
  "gateway": "truevo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ট্রাস্টপে
  "gateway": "trustpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ট্রাস্ট পেমেন্টস
  "gateway": "trustpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

টুনা
  "gateway": "tuna"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

2can&ibox সম্পর্কে
  "gateway": "twocan"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইউএপিএ
  "gateway": "uapay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইউবিআরআর
  "gateway": "ubrrpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

Ukrcardpay সম্পর্কে
  "gateway": "ukrcardpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

UkrGasBank Pay সম্পর্কে
  "gateway": "ukrgasbankpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইউনিব্যাঙ্ক ওজেএসসি
  "gateway": "unibankcheckout"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

অনুসরণ
  "gateway": "unitedfinancialcorporation"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইউনিটেলার
  "gateway": "uniteller"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইউনিটপে
  "gateway": "unitpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আনলিমিন্ট
  "gateway": "unlimint"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আনজার
  "gateway": "unzer"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

উনজার অস্ট্রিয়া
  "gateway": "unzeraustria"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইউপিসি
  "gateway": "upc"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

আপগেট
  "gateway": "upgate"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

USAePay সম্পর্কে
  "gateway": "usaepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

UseePay সম্পর্কে
  "gateway": "useepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইউএসআইও, ইনকর্পোরেটেড।
  "gateway": "usio"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

সাহসী
  "gateway": "valitor"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

value.io সম্পর্কে
  "gateway": "inspirecommerce"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ভ্যানকো
  "gateway": "vanco"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ভ্যান্টিভ
  "gateway": "vantiv"
  "vantiv:merchantPayPageId": "YOUR_PAY_PAGE_ID"
  "vantiv:merchantOrderId": "YOUR_ORDER_ID"
  "vantiv:merchantTransactionId": "YOUR_TRANSACTION_ID"
  "vantiv:merchantReportGroup": "*web"

ডেভেলপার ডক্স

ভায়াপে
  "gateway": "vayapay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

ভেন্ডো
  "gateway": "vendoservices"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ভেরেস্ট্রো
  "gateway": "verestro"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

খুব ভালো নিরাপত্তা
  "gateway": "verygoodsecurity"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ভিক্টোরিয়াব্যাঙ্ক
  "gateway": "victoriabank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ভিন্ডিসিয়া
  "gateway": "vindicia"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ভিভা ওয়ালেট
  "gateway": "vivawallet"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ভিটিইএক্স
  "gateway": "vtex"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়াফো
  "gateway": "waffo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়ালি
  "gateway": "wallee"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়ালেটডক
  "gateway": "walletdoc"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়ালেটটো
  "gateway": "walletto"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

WayForPay সম্পর্কে
  "gateway": "wayforpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

গম
  "gateway": "weatpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

কখনতারপর
  "gateway": "whenthen"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

উইন্ডকেভ
  "gateway": "windcave"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়্যারব্যাঙ্ক
  "gateway": "wirebank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়্যারকার্ড
  "gateway": "wirecard"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

উওপ্পে
  "gateway": "wooppay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

WooshPay সম্পর্কে
  "gateway": "swooshtransfer"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়ার্ল্ডলাইন (গ্লোবাল কালেক্ট)
  "gateway": "globalcollect"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়ার্ল্ডলাইন - ইনজেনিকো (ডব্লিউএল অনলাইন চেকআউট)
  "gateway": "worldlineingenicoogone"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়ার্ল্ডলাইন নর্ডিকস (ওয়ার্ল্ডলাইন অনলাইন চেকআউট)
  "gateway": "worldlineonlinecheckout"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়ার্ল্ডলাইন সিপস
  "gateway": "wlsips"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়ার্ল্ডনেট
  "gateway": "worldnet"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ওয়ার্ল্ডপে
  "gateway": "worldpay"
  "gatewayMerchantId": "YOUR_WORLDPAY_MERCHANT_ID"

ডেভেলপার ডক্স

Wpay সম্পর্কে
  "gateway": "wpayaus"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

WSPay সম্পর্কে
  "gateway": "wspay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

xMoney সম্পর্কে
  "gateway": "xmoneypay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এক্সপেট
  "gateway": "xpate"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

এক্সপে
  "gateway": "xpaycomua"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

পোস্টএক্স দ্বারা এক্সপে
  "gateway": "xpaybypostex"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

YabandPay BV সম্পর্কে
  "gateway": "yabandpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

YIĞIM পেমেন্ট সিস্টেম
  "gateway": "yigim"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

কোনও ডেভেলপার ডকুমেন্ট উপলব্ধ নেই

ইউকাসা (ইউকাসা)
  "gateway": "yoomoney"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ইউনো
  "gateway": "yuno"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

জেড-ক্রেডিট
  "gateway": "zcredit"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

জালোপে
  "gateway": "zalopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

ZEN.com সম্পর্কে
  "gateway": "zen"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

জেস্ট
  "gateway": "zestpayment"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

জুওরা
  "gateway": "zuora"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

ডেভেলপার ডক্স

টিপস : পরীক্ষার পরিবেশে example হল একটি বৈধ গেটওয়ে নাম। আপনি যদি API ব্যবহার করে দেখতে চান, তাহলে উপরের কোড নমুনাটি যেমন আছে তেমনই রেখে দিতে পারেন। যখন আপনি example গেটওয়ে ব্যবহার করেন, তখন আপনার সাইট লেনদেনের জন্য উপযুক্ত কার্ড ডেটা গ্রহণ করে না, তবে ব্যবহারকারীর প্রবাহ একই রকম দেখায়।

Google Pay API-তে কার্ড পেমেন্ট পদ্ধতির সবচেয়ে সাধারণ মার্চেন্ট বাস্তবায়ন হল PAYMENT_GATEWAY টোকেনাইজেশন ধরণ। যদি আপনার পেমেন্ট প্রদানকারী সমর্থিত না হয়, তাহলে আপনি DIRECT ইন্টিগ্রেশনের মাধ্যমে Google Pay গ্রহণ করতে সক্ষম হতে পারেন। আরও তথ্যের জন্য, Direct টোকেনাইজেশন ডকুমেন্টেশন দেখুন।

ধাপ ৩: সমর্থিত পেমেন্ট কার্ড নেটওয়ার্কগুলি সংজ্ঞায়িত করুন

আপনার সাইটে গৃহীত কার্ড নেটওয়ার্কগুলি নির্ধারণ করুন। নিম্নলিখিত কোড নমুনাটি দেখুন:

const allowedCardNetworks = ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"];

Google Pay API Google.com ( PAN_ONLY ) -এ ফাইল করা কার্ড অথবা 3-D সিকিউর ক্রিপ্টোগ্রাম ( CRYPTOGRAM_3DS ) দিয়ে প্রমাণীকরণ করা Android-চালিত ডিভাইসে একটি ডিভাইস টোকেন ফেরত দিতে পারে। আপনি উভয় পদ্ধতিই ফেরত দেওয়া যাবে কিনা, নাকি কেবল একটি পদ্ধতিতে ফেরত দেওয়া যাবে তা নিয়ন্ত্রণ করতে পারেন।

allowedCardAuthMethods সেট করার আগে, আপনার পেমেন্ট প্রসেসর এবং অ্যাকুয়ারারের সাথে নিশ্চিত করুন যে আপনার অঞ্চলে ডিভাইস টোকেন ( CRYPTOGRAM_3DS ) সমর্থিত কিনা।

নিম্নলিখিত কোড নমুনাটি দেখুন:

const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];

আরও তথ্যের জন্য, আমাদের অবজেক্ট রেফারেন্স ডকুমেন্টেশনে CardParameters দেখুন। এছাড়াও, সমর্থিত কার্ড নেটওয়ার্কগুলির জন্য এবং অ্যান্ড্রয়েড ডিভাইস টোকেনের জন্য সমর্থনের জন্য আপনার গেটওয়ে বা প্রসেসরের সাথে যোগাযোগ করুন।

গুরুত্বপূর্ণ :
  • নিশ্চিত করুন যে আপনি পেমেন্ট লেনদেনের জন্য বিদ্যমান ঝুঁকি পরীক্ষা এবং নিয়ন্ত্রণগুলি Google Pay লেনদেনের ক্ষেত্রেও প্রয়োগ করছেন। Google Pay যাচাইকরণ এবং জালিয়াতি পরীক্ষাগুলি আপনার ঝুঁকি ব্যবস্থাপনা প্রক্রিয়াগুলিকে প্রতিস্থাপন করার উদ্দেশ্যে নয়।
  • যদি আপনি PAN_ONLY সমর্থন করেন, তাহলে নিশ্চিত করুন যে আপনি Google Pay PAN PAN_ONLY লেনদেনের জন্য 3D সিকিউর (ধাপে-আপ প্রমাণীকরণ) ট্রিগার করেছেন ঠিক যেমন আপনি সাধারণ কার্ড লেনদেনের জন্য 3D সিকিউর ট্রিগার করেন।

ধাপ ৪: আপনার অনুমোদিত পেমেন্ট পদ্ধতি বর্ণনা করুন

আপনার অনুমোদিত পেমেন্ট পদ্ধতিগুলি বর্ণনা করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. আপনার সাইটের CARD পেমেন্ট পদ্ধতির সমর্থন বর্ণনা করার জন্য আপনার সমর্থিত প্রমাণীকরণ পদ্ধতি এবং সমর্থিত কার্ড নেটওয়ার্কগুলিকে একত্রিত করুন। নিম্নলিখিত কোড নমুনাটি দেখুন:
    const baseCardPaymentMethod = {
      type: 'CARD',
      parameters: {
        allowedAuthMethods: allowedCardAuthMethods,
        allowedCardNetworks: allowedCardNetworks
      }
    };
  2. আপনার আবেদনে যে তথ্য ফেরত পাওয়া হবে বলে আশা করা হচ্ছে, তা বর্ণনা করার জন্য বেস কার্ড পেমেন্ট পদ্ধতির অবজেক্টটি প্রসারিত করুন। টোকেনাইজড পেমেন্ট ডেটার একটি বিবরণ অন্তর্ভুক্ত করুন। নিম্নলিখিত কোড নমুনাটি দেখুন:
    const cardPaymentMethod = Object.assign(
      {tokenizationSpecification: tokenizationSpecification},
      baseCardPaymentMethod
    );
  3. সমর্থিত parameters সম্পর্কে আরও তথ্যের জন্য, CardParameters দেখুন।

    Google Pay বর্তমানে শুধুমাত্র CARD পেমেন্ট পদ্ধতির ধরণ সমর্থন করে।

ধাপ ৫: গুগল পে এপিআই জাভাস্ক্রিপ্ট লাইব্রেরি লোড করুন

Google Pay API JavaScript লাইব্রেরি লোড করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. আপনার পৃষ্ঠায় Google এর হোস্ট করা জাভাস্ক্রিপ্ট অন্তর্ভুক্ত করুন। নিম্নলিখিত কোডের নমুনা দেখুন:
    <script
      async
      src="https://pay.google.com/gp/p/js/pay.js"
      onload="console.log('TODO: add onload function')">
    </script>
  2. Google Pay API JavaScript লাইব্রেরি লোড হওয়ার পর, একটি PaymentsClient অবজেক্ট ইনিশিয়ালাইজ করুন। প্রাথমিক ডেভেলপমেন্ট একটি TEST পরিবেশ ব্যবহার করে, যা এমন ডামি পেমেন্ট পদ্ধতি প্রদান করে যা পেমেন্ট প্রতিক্রিয়ার কাঠামোর রেফারেন্সের জন্য উপযুক্ত। এই পরিবেশে, একটি নির্বাচিত পেমেন্ট পদ্ধতি লেনদেন করতে সক্ষম নয়। নিম্নলিখিত কোড নমুনাটি দেখুন।
    দ্রষ্টব্য : আমরা আপনাকে শুধুমাত্র একবার paymentsClient শুরু করার পরামর্শ দিচ্ছি। CreateButton , IsReadyToPay , PrefetchPaymentData , এবং LoadPaymentData মতো অন্যান্য সমস্ত API ব্যবহার করার সময় একই উদাহরণ ব্যবহার করুন।
    const paymentsClient =
        new google.payments.api.PaymentsClient({environment: 'TEST'});

    চার্জযোগ্য পেমেন্ট পদ্ধতি প্রদানকারী একটি PRODUCTION পরিবেশের প্রয়োজনীয়তা সম্পর্কে আরও তথ্যের জন্য, ইন্টিগ্রেশন চেকলিস্ট দেখুন।

ধাপ ৬: Google Pay API ব্যবহার করে অর্থপ্রদানের প্রস্তুতি নির্ধারণ করুন

Google Pay API ব্যবহার করে পেমেন্ট করার প্রস্তুতি নির্ধারণ করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. আপনার বেস রিকোয়েস্ট অবজেক্টে আপনার অনুমোদিত পেমেন্ট পদ্ধতি যোগ করুন। নিম্নলিখিত কোড নমুনাটি দেখুন:
    const isReadyToPayRequest = Object.assign({}, baseRequest);
    isReadyToPayRequest.allowedPaymentMethods = [baseCardPaymentMethod];
  2. আপনার নির্দিষ্ট পেমেন্ট পদ্ধতির জন্য বর্তমান ডিভাইস এবং ব্রাউজারে Google Pay API সমর্থিত কিনা তা নির্ধারণ করতে isReadyToPay() এ কল করুন। নিম্নলিখিত কোডের নমুনা দেখুন:
    paymentsClient.isReadyToPay(isReadyToPayRequest)
        .then(function(response) {
          if (response.result) {
            // add a Google Pay payment button
          }
        })
        .catch(function(err) {
          // show error in developer console for debugging
          console.error(err);
        });

ধাপ ৭: একটি Google Pay পেমেন্ট বোতাম যোগ করুন

আপনার পৃষ্ঠায় একটি Google Pay পেমেন্ট বোতাম যোগ করুন যাতে ক্রেতারা Google Pay API এবং আপনার সাইট দ্বারা সমর্থিত পেমেন্ট পদ্ধতিগুলি ব্যবহার করে চেক আউট করতে উৎসাহিত হন। উপলব্ধ বোতামের ধরণ, রঙ এবং প্রদর্শনের প্রয়োজনীয়তা সম্পর্কে আরও তথ্যের জন্য, ব্র্যান্ড নির্দেশিকা দেখুন।

নিম্নলিখিত পেমেন্ট বোতাম কোডের নমুনা দেখুন:

const button =
    paymentsClient.createButton({onClick: () => console.log('TODO: click handler'),
    allowedPaymentMethods: []}); // same payment methods as for the loadPaymentData() API call
document.getElementById('container').appendChild(button);

ধাপ ৮: একটি PaymentDataRequest অবজেক্ট তৈরি করুন

একটি PaymentDataRequest অবজেক্ট তৈরি করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. আপনার সাইটের Google Pay API সমর্থনের বর্ণনা দেয় এমন একটি JavaScript অবজেক্ট তৈরি করুন। সমর্থিত প্রপার্টির সম্পূর্ণ তালিকার জন্য, PaymentDataRequest দেখুন। নিম্নলিখিত কোডের নমুনা দেখুন:
    const paymentDataRequest = Object.assign({}, baseRequest);
  2. আপনার অ্যাপ দ্বারা সমর্থিত পেমেন্ট পদ্ধতি যোগ করুন, যেমন প্রতিক্রিয়াতে প্রত্যাশিত অতিরিক্ত ডেটার যেকোনো কনফিগারেশন। নিম্নলিখিত কোড নমুনাটি দেখুন:
    paymentDataRequest.allowedPaymentMethods = [cardPaymentMethod];
  3. একজন ক্রেতার অনুমোদনের জন্য মোট মূল্য এবং মুদ্রা নির্ধারণ করুন। নিম্নলিখিত কোড নমুনাটি দেখুন:
    গুরুত্বপূর্ণ : ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA) অথবা শক্তিশালী গ্রাহক প্রমাণীকরণ (SCA) সাপেক্ষে অন্য যেকোনো দেশে লেনদেন প্রক্রিয়াকরণকারী ব্যবসায়ীদের SCA প্রয়োজনীয়তা পূরণের জন্য countryCode , totalPrice এবং merchantName প্যারামিটার অন্তর্ভুক্ত করতে হবে।
    paymentDataRequest.transactionInfo = {
      totalPriceStatus: 'FINAL',
      totalPrice: '123.45',
      currencyCode: 'USD',
      countryCode: 'US'
    };
  4. ব্যবহারকারীর দৃষ্টিগোচর একটি মার্চেন্ট নাম প্রদান করুন এবং TEST এ থাকাকালীন আমাদের TEST merchantId মান ব্যবহার করুন। আরও বিস্তারিত জানার জন্য এবং TEST merchantId মান কখন প্রতিস্থাপন করতে হবে সে সম্পর্কে তথ্যের জন্য, MerchantInfo দেখুন। ব্যবহারকারীর দৃষ্টিগোচর একটি মার্চেন্ট নামের নিম্নলিখিত কোড নমুনা দেখুন:
    paymentDataRequest.merchantInfo = {
      merchantName: 'Example Merchant'
      merchantId: '12345678901234567890'
    };
    দ্রষ্টব্য : আমাদের TEST merchantId মানটি সাংখ্যিক। আপনার নির্দিষ্ট merchantId মান সাংখ্যিক বা আলফানিউমেরিক হতে পারে। আপনার নির্দিষ্ট merchantId কীভাবে পাবেন সে সম্পর্কে আরও তথ্যের জন্য MerchantInfo পর্যালোচনা করুন।

ধাপ ৯: ব্যবহারকারীর অঙ্গভঙ্গির জন্য একটি ইভেন্ট হ্যান্ডলার নিবন্ধন করুন

ব্যবহারকারীর অঙ্গভঙ্গির জন্য একটি ইভেন্ট হ্যান্ডলার নিবন্ধন করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. ক্রয় বোতামের জন্য একটি ক্লিক ইভেন্ট হ্যান্ডলার নিবন্ধন করুন। ইভেন্ট হ্যান্ডলারটি Google Pay, পেমেন্ট বোতামের সাথে ইন্টারঅ্যাক্ট করার সাথে সাথেই loadPaymentData() কল করে।
  2. একজন Google ব্যবহারকারী আপনার সাইটকে ব্যবহারকারীর নির্বাচিত পেমেন্ট পদ্ধতি এবং ঐচ্ছিক যোগাযোগের ডেটা সম্পর্কে তথ্য পাওয়ার অনুমতি দেওয়ার পর, Google Pay API থেকে প্রতিক্রিয়াটি পরিচালনা করুন।
  3. paymentData রেসপন্স থেকে পেমেন্ট টোকেনটি বের করুন। যদি আপনি একটি গেটওয়ে ইন্টিগ্রেশন বাস্তবায়ন করেন, তাহলে কোনও পরিবর্তন ছাড়াই এই টোকেনটি আপনার গেটওয়েতে পাস করুন।
    দ্রষ্টব্য : একটি TEST পরিবেশে, একটি পেমেন্ট প্রতিক্রিয়াতে নির্বাচিত পেমেন্ট পদ্ধতি সম্পর্কে সারসংক্ষেপ তথ্য থাকে যা একটি নিশ্চিতকরণ পৃষ্ঠায় প্রদর্শনের জন্য উপযুক্ত। পেমেন্ট প্রতিক্রিয়াতে এমন কোনও পেমেন্ট পদ্ধতি অন্তর্ভুক্ত থাকে না যা লেনদেন করতে সক্ষম।
    paymentsClient.loadPaymentData(paymentDataRequest).then(function(paymentData){
      // if using gateway tokenization, pass this token without modification
      paymentToken = paymentData.paymentMethodData.tokenizationData.token;
    }).catch(function(err){
      // show error in developer console for debugging
      console.error(err);
    });

ধাপ ১০ (ঐচ্ছিক): অথরাইজ পেমেন্ট সেট আপ করুন

অথরাইজ পেমেন্টস পেমেন্ট প্রক্রিয়া শুরু করতে এবং পেমেন্টের অনুমোদনের স্থিতি স্বীকার করতে ব্যবহৃত হয়। অথরাইজ পেমেন্টস সেট আপ করতে, নিম্নলিখিত পদক্ষেপগুলি গ্রহণ করুন:

  1. PaymentOptions এ একটি onPaymentAuthorized() কলব্যাক নিবন্ধন করুন।
  2. PAYMENT_AUTHORIZATION কলব্যাক ইন্টেন্ট সহ loadPaymentData() ফাংশনটি কল করুন।
  3. onPaymentAuthorized() প্রয়োগ করুন।

নিবন্ধন করুনপেমেন্টঅনুমোদিত কলব্যাক

নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে onPaymentAuthorized কলব্যাক নিবন্ধন করতে হয়:

{
  environment: "TEST",
  merchantInfo: {
    merchantName: "Example Merchant",
    merchantId: "12345678901234567890"
  },
  paymentDataCallbacks: {
    onPaymentAuthorized: onPaymentAuthorized
  }
}

কলব্যাক ইন্টেন্ট সহ পেমেন্ট ডেটা লোড করুন

নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে Authorize Payments দিয়ে পেমেন্ট শিটটি শুরু করতে হয়:

const paymentDataRequest = Object.assign({}, baseRequest);
paymentDataRequest.allowedPaymentMethods = [cardPaymentMethod];
paymentDataRequest.transactionInfo = getGoogleTransactionInfo();
paymentDataRequest.merchantInfo = {
  merchantName: 'Example Merchant'
  merchantId: '12345678901234567890',
};

paymentDataRequest.callbackIntents = ["PAYMENT_AUTHORIZATION"];

হ্যান্ডেল অনপেমেন্টঅনুমোদিত কলব্যাক

কোনও পেমেন্টকারী যখন ব্যবহারকারীর অঙ্গভঙ্গির মাধ্যমে অর্থপ্রদান অনুমোদন করে, যেমন যদি তারা Pay এ ক্লিক করে, তখন Google দ্বারা onPaymentAuthorized() কলব্যাকটি PaymentData অবজেক্টের মাধ্যমে আহ্বান করা হয়।

কলব্যাকটি একটি Promise<PaymentAuthorizationResult> মান প্রদান করে। PaymentAuthorizationResult অবজেক্টের একটি SUCCESS অথবা ERROR লেনদেনের অবস্থা থাকে। সফল হলে, পেমেন্ট শিটটি সফলভাবে বন্ধ হয়ে যায়। যদি আপনি কোনও ত্রুটির সম্মুখীন হন, তাহলে পেমেন্ট শিটটি পেমেন্ট প্রক্রিয়া করার পরে ফেরত আসা ত্রুটির বিবরণ রেন্ডার করে। ব্যবহারকারী পেমেন্ট শিটের পেমেন্ট ডেটা পরিবর্তন করতে পারেন এবং আবার পেমেন্ট অনুমোদন করতে পারেন। নিম্নলিখিত কোড নমুনাটি দেখুন:

function onPaymentAuthorized(paymentData) {
  return new Promise(function(resolve, reject){
    // handle the response
    processPayment(paymentData)
    .then(function() {
      resolve({transactionState: 'SUCCESS'});
    })
    .catch(function() {
      resolve({
        transactionState: 'ERROR',
        error: {
          intent: 'PAYMENT_AUTHORIZATION',
          message: 'Insufficient funds',
          reason: 'PAYMENT_DATA_INVALID'
        }
      });
    });
  });
}

ধাপ ১১ (শিপিং-সক্ষম হলে ঐচ্ছিক): ডায়নামিক মূল্য আপডেট সেট আপ করুন

ডায়নামিক প্রাইস আপডেট একজন ব্যবসায়ীকে একটি নির্বাচিত শিপিং ঠিকানার উপর ভিত্তি করে শিপিং বিকল্প এবং লেনদেনের তথ্য গতিশীলভাবে আপডেট করতে দেয়। এছাড়াও, আপনি একটি নির্বাচিত শিপিং বিকল্পের উপর ভিত্তি করে লেনদেনের তথ্য গতিশীলভাবে আপডেট করতে পারেন।

ডায়নামিক প্রাইস আপডেট সেট আপ করতে, নিম্নলিখিত পদক্ষেপগুলি গ্রহণ করুন:

  1. PaymentOptions -এ onPaymentAuthorized এবং onPaymentDataChanged কলব্যাক উভয়ই নিবন্ধন করুন।
  2. কলব্যাক ইন্টেন্ট সহ loadPaymentData() ফাংশনটি কল করুন। বিস্তারিত জানার জন্য, সংশ্লিষ্ট উদাহরণটি দেখুন।
  3. onPaymentAuthorized এবং onPaymentDataChanged বাস্তবায়ন করুন।

পেমেন্টডেটা কলব্যাক নিবন্ধন করুন

নিম্নলিখিত কোড নমুনাটি দেখায় যে ডায়নামিক প্রাইস আপডেটের জন্য PaymentsClient paymentOptions অবজেক্টে কলব্যাক ফাংশন নিবন্ধিত করা প্রয়োজন।

{
  environment: "TEST",
  merchantInfo: {
    merchantName: "Example Merchant",
    merchantId: "12345678901234567890"
  },
  paymentDataCallbacks: {
    onPaymentAuthorized: onPaymentAuthorized,
    onPaymentDataChanged: onPaymentDataChanged
  }
}

কলব্যাক ইন্টেন্ট সহ পেমেন্ট ডেটা লোড করুন

নিম্নলিখিত কোড নমুনাটি দেখায় যে কীভাবে একটি পেমেন্ট শিট একটি প্রয়োজনীয় শিপিং ঠিকানা এবং শিপিং বিকল্প কনফিগারেশন দিয়ে শুরু করতে হবে:

const paymentDataRequest = Object.assign({}, baseRequest);
paymentDataRequest.allowedPaymentMethods = [cardPaymentMethod];
paymentDataRequest.transactionInfo = getGoogleTransactionInfo();
paymentDataRequest.merchantInfo = {
  merchantId: '12345678901234567890',
  merchantName: 'Example Merchant'
};

paymentDataRequest.callbackIntents = ["SHIPPING_ADDRESS",  "SHIPPING_OPTION", "PAYMENT_AUTHORIZATION"];


paymentDataRequest.shippingAddressRequired = true;
paymentDataRequest.shippingAddressParameters = getGoogleShippingAddressParameters();
paymentDataRequest.shippingOptionRequired = true;

হ্যান্ডেল অনপেমেন্টডেটাচেঞ্জড কলব্যাক

onPaymentDataChanged কলব্যাকটি একটি IntermediatePaymentData অবজেক্টের মাধ্যমে আহ্বান করা হয়, যার মধ্যে পেমেন্ট শিটে নির্বাচিত শিপিং ঠিকানা এবং শিপিং বিকল্প অন্তর্ভুক্ত থাকে।

কলব্যাকটি একটি Promise<PaymentDataRequestUpdate> ফেরত পাঠায়। PaymentDataRequestUpdate অবজেক্টটিতে নতুন লেনদেনের তথ্য, শিপিং বিকল্প এবং একটি পেমেন্ট ডেটা ত্রুটি রয়েছে। এই ডেটা পেমেন্ট শিট আপডেট করে।

যেকোনো ব্যতিক্রম ক্ষেত্রে, যেমন একটি অকার্যকর শিপিং ঠিকানা বা অবৈধ শিপিং বিকল্প, সরাসরি পেমেন্ট শিটে পরিচালনা করুন। ব্যবহারকারীকে একটি ত্রুটি বার্তা দিয়ে ত্রুটির কারণ হাইলাইট করার জন্য একটি PaymentDataError অবজেক্ট সেট আপ করুন। বার্তায় সম্পর্কিত উদ্দেশ্য অন্তর্ভুক্ত করতে ভুলবেন না। অবজেক্ট এবং বার্তা কীভাবে সেট আপ করবেন সে সম্পর্কে বিস্তারিত জানতে, নিম্নলিখিত কোড নমুনাটি দেখুন:

function onPaymentDataChanged(intermediatePaymentData) {
  return new Promise(function(resolve, reject) {

    let shippingAddress = intermediatePaymentData.shippingAddress;
    let shippingOptionData = intermediatePaymentData.shippingOptionData;
    let paymentDataRequestUpdate = {};

    if (intermediatePaymentData.callbackTrigger == "INITIALIZE" || intermediatePaymentData.callbackTrigger == "SHIPPING_ADDRESS") {
      if(shippingAddress.administrativeArea == "NJ")  {
        paymentDataRequestUpdate.error = getGoogleUnserviceableAddressError();
      }
      else {
        paymentDataRequestUpdate.newShippingOptionParameters = getGoogleDefaultShippingOptions();
        let selectedShippingOptionId = paymentDataRequestUpdate.newShippingOptionParameters.defaultSelectedOptionId;
        paymentDataRequestUpdate.newTransactionInfo = calculateNewTransactionInfo(selectedShippingOptionId);
      }
    }
    else if (intermediatePaymentData.callbackTrigger == "SHIPPING_OPTION") {
      paymentDataRequestUpdate.newTransactionInfo = calculateNewTransactionInfo(shippingOptionData.id);
    }

    resolve(paymentDataRequestUpdate);
  });
}

ধাপ ১২ (প্রোমো কোডের জন্য ঐচ্ছিক): প্রোমো কোড সেট আপ করুন

প্রোমো কোডগুলি একজন বণিককে প্রদত্ত প্রোমোশনাল কোডের উপর ভিত্তি করে শিপিং বিকল্প এবং লেনদেনের তথ্য গতিশীলভাবে আপডেট করার অনুমতি দেয়।

প্রোমো কোড সেট আপ করতে, নিম্নলিখিত পদক্ষেপগুলি গ্রহণ করুন:

  1. PaymentOptionsonPaymentDataChanged কলব্যাক নিবন্ধন করুন।
  2. কলব্যাক ইন্টেন্ট সহ loadPaymentData() ফাংশনটি কল করুন। বিস্তারিত জানার জন্য, সংশ্লিষ্ট উদাহরণটি দেখুন।
  3. onPaymentDataChanged callback function বাস্তবায়ন করুন।

অফার কলব্যাক নিবন্ধন করুন

নিম্নলিখিত কোড নমুনাটি দেখায় যে প্রোমো কোডগুলির জন্যPaymentsClient paymentOptions অবজেক্টে কলব্যাক ফাংশন নিবন্ধিত হওয়া প্রয়োজন।

{
  environment: "TEST",
  merchantInfo: {
    merchantName: "Example Merchant",
    merchantId: "12345678901234567890"
  },
  paymentDataCallbacks: {
    onPaymentDataChanged: onPaymentDataChanged
  }
}

কলব্যাক ইন্টেন্ট সহ পেমেন্ট ডেটা লোড করুন

নিম্নলিখিত কোড নমুনাটি দেখায় যে কীভাবে একটি পেমেন্ট শিট একটি OFFER কলব্যাক ইন্টেন্টের সাথে শুরু করতে হবে:

const paymentDataRequest = Object.assign({}, baseRequest);
paymentDataRequest.allowedPaymentMethods = [cardPaymentMethod];
paymentDataRequest.transactionInfo = getGoogleTransactionInfo();
paymentDataRequest.merchantInfo = {
  merchantId: '12345678901234567890',
  merchantName: 'Example Merchant'
};

paymentDataRequest.callbackIntents = ["OFFER"];

হ্যান্ডেল অনপেমেন্টডেটাচেঞ্জড কলব্যাক

onPaymentDataChanged কলব্যাকটি একটি IntermediatePaymentData অবজেক্টের মাধ্যমে আহ্বান করা হয়, যার মধ্যে পেমেন্ট শিটে নির্বাচিত শিপিং ঠিকানা এবং শিপিং বিকল্প অন্তর্ভুক্ত থাকে।

কলব্যাকের ক্ষেত্রে অবশ্যই একটি Promise<PaymentDataRequestUpdate> রিটার্ন করতে হবে। PaymentDataRequestUpdate অবজেক্টে নতুন লেনদেনের তথ্য, শিপিং বিকল্প, অফার ডেটা এবং একটি পেমেন্ট ডেটা ত্রুটি রয়েছে। এই ডেটা পেমেন্ট শিট আপডেট করে।

যেকোনো ব্যতিক্রম কেস, যেমন একটি অবৈধ প্রোমো কোড, সরাসরি পেমেন্ট শিটে পরিচালনা করুন। ব্যবহারকারীকে একটি ত্রুটি বার্তা দিয়ে ত্রুটির কারণ তুলে ধরার জন্য একটি PaymentDataError অবজেক্ট সেট আপ করুন। বার্তায় সম্পর্কিত উদ্দেশ্য অন্তর্ভুক্ত করতে ভুলবেন না। অবজেক্ট এবং বার্তা কীভাবে সেট আপ করবেন সে সম্পর্কে বিস্তারিত জানার জন্য, নিম্নলিখিত কোড নমুনাটি দেখুন, যা প্রোমো কোড মান ধারণকারী একটি অবজেক্ট (validPromoCodes) উল্লেখ করে:

function onPaymentDataChanged(intermediatePaymentData) {
  return new Promise(function(resolve, reject) {

    let redemptionCodes = [];
    let shippingOptionData = intermediatePaymentData.shippingOptionData;
    let paymentDataRequestUpdate = {};
    paymentDataRequestUpdate.newTransactionInfo = getGoogleTransactionInfo();

    // ensure that promo codes set is unique
    if(typeof intermediatePaymentData.offerData != 'undefined') {
      // convert to set then back to array
      redemptionCodes = Array.from(
        new Set(intermediatePaymentData.offerData.redemptionCodes)
      );
    }

    // OPTIONAL: ensure that the newest promo code is the only one applied
    // redemptionCodes = new Array(redemptionCodes[redemptionCodes.length -1]);

    // validate promo codes and add descriptions to payment sheet
    if (intermediatePaymentData.callbackTrigger === 'OFFER') {
      paymentDataRequestUpdate.newOfferInfo = {};
      paymentDataRequestUpdate.newOfferInfo.offers = [];
      for (redemptionCode of redemptionCodes) {
        if (validPromoCodes[redemptionCode]) {
          paymentDataRequestUpdate = validPromoCodes[redemptionCode].function(
            validPromoCodes[redemptionCode],
            paymentDataRequestUpdate
          );
        } else {
          paymentDataRequestUpdate.error = getGoogleOfferInvalidError(redemptionCode);
        }
      }
    }

সব একসাথে রাখো।

এই বিভাগের উদাহরণ কোড ব্লকগুলিতে Google Pay API JavaScript লাইব্রেরি টিউটোরিয়াল, Authorize Payments, Dynamic Price Updates এবং Promo Codes-এর একটি সম্পূর্ণ এন্ড-টু-এন্ড উদাহরণ দেখানো হয়েছে।

টিউটোরিয়াল

<div id="container"></div>

<script>
/**
 * Define the version of the Google Pay API referenced when creating your
 * configuration
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|apiVersion in PaymentDataRequest}
 */
const baseRequest = {
  apiVersion: 2,
  apiVersionMinor: 0
};

/**
 * Card networks supported by your site and your gateway
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 * @todo confirm card networks supported by your site and gateway
 */
const allowedCardNetworks = ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"];

/**
 * Card authentication methods supported by your site and your gateway
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 * @todo confirm your processor supports Android device tokens for your
 * supported card networks
 */
const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];

/**
 * Identify your gateway and your site's gateway merchant identifier
 *
 * The Google Pay API response will return an encrypted payment method capable
 * of being charged by a supported gateway after payer authorization
 *
 * @todo check with your gateway on the parameters to pass
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#gateway|PaymentMethodTokenizationSpecification}
 */
const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
    'gateway': 'example',
    'gatewayMerchantId': 'exampleGatewayMerchantId'
  }
};

/**
 * Describe your site's support for the CARD payment method and its required
 * fields
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 */
const baseCardPaymentMethod = {
  type: 'CARD',
  parameters: {
    allowedAuthMethods: allowedCardAuthMethods,
    allowedCardNetworks: allowedCardNetworks
  }
};

/**
 * Describe your site's support for the CARD payment method including optional
 * fields
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 */
const cardPaymentMethod = Object.assign(
  {},
  baseCardPaymentMethod,
  {
    tokenizationSpecification: tokenizationSpecification
  }
);

/**
 * An initialized google.payments.api.PaymentsClient object or null if not yet set
 *
 * @see {@link getGooglePaymentsClient}
 */
let paymentsClient = null;

/**
 * Configure your site's support for payment methods supported by the Google Pay
 * API.
 *
 * Each member of allowedPaymentMethods should contain only the required fields,
 * allowing reuse of this base request when determining a viewer's ability
 * to pay and later requesting a supported payment method
 *
 * @returns {object} Google Pay API version, payment methods supported by the site
 */
function getGoogleIsReadyToPayRequest() {
  return Object.assign(
      {},
      baseRequest,
      {
        allowedPaymentMethods: [baseCardPaymentMethod]
      }
  );
}

/**
 * Configure support for the Google Pay API
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|PaymentDataRequest}
 * @returns {object} PaymentDataRequest fields
 */
function getGooglePaymentDataRequest() {
  const paymentDataRequest = Object.assign({}, baseRequest);
  paymentDataRequest.allowedPaymentMethods = [cardPaymentMethod];
  paymentDataRequest.transactionInfo = getGoogleTransactionInfo();
  paymentDataRequest.merchantInfo = {
    // @todo a merchant ID is available for a production environment after approval by Google
    // See {@link https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist|Integration checklist}
    // merchantId: '12345678901234567890',
    merchantName: 'Example Merchant'
  };
  return paymentDataRequest;
}

/**
 * Return an active PaymentsClient or initialize
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}
 * @returns {google.payments.api.PaymentsClient} Google Pay API client
 */
function getGooglePaymentsClient() {
  if ( paymentsClient === null ) {
    paymentsClient = new google.payments.api.PaymentsClient({environment: 'TEST'});
  }
  return paymentsClient;
}

/**
 * Initialize Google PaymentsClient after Google-hosted JavaScript has loaded
 *
 * Display a Google Pay payment button after confirmation of the viewer's
 * ability to pay.
 */
function onGooglePayLoaded() {
  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.isReadyToPay(getGoogleIsReadyToPayRequest())
      .then(function(response) {
        if (response.result) {
          addGooglePayButton();
          // @todo prefetch payment data to improve performance after confirming site functionality
          // prefetchGooglePaymentData();
        }
      })
      .catch(function(err) {
        // show error in developer console for debugging
        console.error(err);
      });
}

/**
 * Add a Google Pay purchase button alongside an existing checkout button
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#ButtonOptions|Button options}
 * @see {@link https://developers.google.com/pay/api/web/guides/brand-guidelines|Google Pay brand guidelines}
 */
function addGooglePayButton() {
  const paymentsClient = getGooglePaymentsClient();
  const button =
      paymentsClient.createButton({
        onClick: onGooglePaymentButtonClicked,
        allowedPaymentMethods: [baseCardPaymentMethod]
      });
  document.getElementById('container').appendChild(button);
}

/**
 * Provide Google Pay API with a payment amount, currency, and amount status
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo|TransactionInfo}
 * @returns {object} transaction info, suitable for use as transactionInfo property of PaymentDataRequest
 */
function getGoogleTransactionInfo() {
  return {
    countryCode: 'US',
    currencyCode: 'USD',
    totalPriceStatus: 'FINAL',
    // set to cart total
    totalPrice: '1.00'
  };
}

/**
 * Prefetch payment data to improve performance
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/client#prefetchPaymentData|prefetchPaymentData()}
 */
function prefetchGooglePaymentData() {
  const paymentDataRequest = getGooglePaymentDataRequest();
  // transactionInfo must be set but does not affect cache
  paymentDataRequest.transactionInfo = {
    totalPriceStatus: 'NOT_CURRENTLY_KNOWN',
    currencyCode: 'USD'
  };
  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.prefetchPaymentData(paymentDataRequest);
}

/**
 * Show Google Pay payment sheet when Google Pay payment button is clicked
 */
function onGooglePaymentButtonClicked() {
  const paymentDataRequest = getGooglePaymentDataRequest();
  paymentDataRequest.transactionInfo = getGoogleTransactionInfo();

  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.loadPaymentData(paymentDataRequest)
      .then(function(paymentData) {
        // handle the response
        processPayment(paymentData);
      })
      .catch(function(err) {
        // show error in developer console for debugging
        console.error(err);
      });
}
/**
 * Process payment data returned by the Google Pay API
 *
 * @param {object} paymentData response from Google Pay API after user approves payment
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentData|PaymentData object reference}
 */
function processPayment(paymentData) {
  // show returned data in developer console for debugging
    console.log(paymentData);
  // @todo pass payment token to your gateway to process payment
  // @note DO NOT save the payment credentials for future transactions,
  // unless they're used for merchant-initiated transactions with user
  // consent in place.
  paymentToken = paymentData.paymentMethodData.tokenizationData.token;
}</script>
<script async
  src="https://pay.google.com/gp/p/js/pay.js"
  onload="onGooglePayLoaded()"></script>

পেমেন্ট অনুমোদন করুন

<div id="container"></div>

<script>
/**
 * Define the version of the Google Pay API referenced when creating your
 * configuration
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|apiVersion in PaymentDataRequest}
 */
const baseRequest = {
  apiVersion: 2,
  apiVersionMinor: 0
};

/**
 * Card networks supported by your site and your gateway
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 * @todo confirm card networks supported by your site and gateway
 */
const allowedCardNetworks = ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"];

/**
 * Card authentication methods supported by your site and your gateway
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 * @todo confirm your processor supports Android device tokens for your
 * supported card networks
 */
const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];

/**
 * Identify your gateway and your site's gateway merchant identifier
 *
 * The Google Pay API response will return an encrypted payment method capable
 * of being charged by a supported gateway after payer authorization
 *
 * @todo check with your gateway on the parameters to pass
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#gateway|PaymentMethodTokenizationSpecification}
 */
const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
    'gateway': 'example',
    'gatewayMerchantId': 'exampleGatewayMerchantId'
  }
};

/**
 * Describe your site's support for the CARD payment method and its required
 * fields
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 */
const baseCardPaymentMethod = {
  type: 'CARD',
  parameters: {
    allowedAuthMethods: allowedCardAuthMethods,
    allowedCardNetworks: allowedCardNetworks
  }
};

/**
 * Describe your site's support for the CARD payment method including optional
 * fields
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 */
const cardPaymentMethod = Object.assign(
  {},
  baseCardPaymentMethod,
  {
    tokenizationSpecification: tokenizationSpecification
  }
);

/**
 * An initialized google.payments.api.PaymentsClient object or null if not yet set
 *
 * @see {@link getGooglePaymentsClient}
 */
let paymentsClient = null;

/**
 * Configure your site's support for payment methods supported by the Google Pay
 * API.
 *
 * Each member of allowedPaymentMethods should contain only the required fields,
 * allowing reuse of this base request when determining a viewer's ability
 * to pay and later requesting a supported payment method
 *
 * @returns {object} Google Pay API version, payment methods supported by the site
 */
function getGoogleIsReadyToPayRequest() {
  return Object.assign(
      {},
      baseRequest,
      {
        allowedPaymentMethods: [baseCardPaymentMethod]
      }
  );
}

/**
 * Configure support for the Google Pay API
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|PaymentDataRequest}
 * @returns {object} PaymentDataRequest fields
 */
function getGooglePaymentDataRequest() {
  const paymentDataRequest = Object.assign({}, baseRequest);
  paymentDataRequest.allowedPaymentMethods = [cardPaymentMethod];
  paymentDataRequest.transactionInfo = getGoogleTransactionInfo();
  paymentDataRequest.merchantInfo = {
    // @todo a merchant ID is available for a production environment after approval by Google
    // See {@link https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist|Integration checklist}
    // merchantId: '12345678901234567890',
    merchantName: 'Example Merchant'
  };

  paymentDataRequest.callbackIntents = ["PAYMENT_AUTHORIZATION"];

  return paymentDataRequest;
}

/**
 * Return an active PaymentsClient or initialize
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}
 * @returns {google.payments.api.PaymentsClient} Google Pay API client
 */
function getGooglePaymentsClient() {
  if ( paymentsClient === null ) {
    paymentsClient = new google.payments.api.PaymentsClient({
    	environment: 'TEST',
      paymentDataCallbacks: {
      	onPaymentAuthorized: onPaymentAuthorized
      }
    });
  }
  return paymentsClient;
}

/**
 * Handles authorize payments callback intents.
 *
 * @param {object} paymentData response from Google Pay API after a payer approves payment through user gesture.
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentData object reference}
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentAuthorizationResult}
 * @returns Promise<{object}> Promise of PaymentAuthorizationResult object to acknowledge the payment authorization status.
 */
function onPaymentAuthorized(paymentData) {
	return new Promise(function(resolve, reject){
    // handle the response
    processPayment(paymentData)
    .then(function() {
      resolve({transactionState: 'SUCCESS'});
    })
    .catch(function() {
      resolve({
        transactionState: 'ERROR',
        error: {
          intent: 'PAYMENT_AUTHORIZATION',
          message: 'Insufficient funds',
          reason: 'PAYMENT_DATA_INVALID'
        }
      });
  	});
  });
}

/**
 * Initialize Google PaymentsClient after Google-hosted JavaScript has loaded
 *
 * Display a Google Pay payment button after confirmation of the viewer's
 * ability to pay.
 */
function onGooglePayLoaded() {
  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.isReadyToPay(getGoogleIsReadyToPayRequest())
      .then(function(response) {
        if (response.result) {
          addGooglePayButton();
        }
      })
      .catch(function(err) {
        // show error in developer console for debugging
        console.error(err);
      });
}

/**
 * Add a Google Pay purchase button alongside an existing checkout button
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#ButtonOptions|Button options}
 * @see {@link https://developers.google.com/pay/api/web/guides/brand-guidelines|Google Pay brand guidelines}
 */
function addGooglePayButton() {
  const paymentsClient = getGooglePaymentsClient();
  const button =
      paymentsClient.createButton({
        onClick: onGooglePaymentButtonClicked,
        allowedPaymentMethods: [baseCardPaymentMethod]
      });
  document.getElementById('container').appendChild(button);
}

/**
 * Provide Google Pay API with a payment amount, currency, and amount status
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo|TransactionInfo}
 * @returns {object} transaction info, suitable for use as transactionInfo property of PaymentDataRequest
 */
function getGoogleTransactionInfo() {
  return {
        displayItems: [
        {
          label: "Subtotal",
          type: "SUBTOTAL",
          price: "11.00",
        },
      {
          label: "Tax",
          type: "TAX",
          price: "1.00",
        }
    ],
    countryCode: 'US',
    currencyCode: "USD",
    totalPriceStatus: "FINAL",
    totalPrice: "12.00",
    totalPriceLabel: "Total"
  };
}

/**
 * Show Google Pay payment sheet when Google Pay payment button is clicked
 */
function onGooglePaymentButtonClicked() {
  const paymentDataRequest = getGooglePaymentDataRequest();
  paymentDataRequest.transactionInfo = getGoogleTransactionInfo();

  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.loadPaymentData(paymentDataRequest);
}

/**
 * Process payment data returned by the Google Pay API
 *
 * @param {object} paymentData response from Google Pay API after user approves payment
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentData|PaymentData object reference}
 */
function processPayment(paymentData) {
	return new Promise(function(resolve, reject) {
  	setTimeout(function() {
  		// @todo pass payment token to your gateway to process payment
  		paymentToken = paymentData.paymentMethodData.tokenizationData.token;

    	resolve({});
    }, 3000);
  });
}</script>
<script async
  src="https://pay.google.com/gp/p/js/pay.js"
  onload="onGooglePayLoaded()"></script>

গতিশীল মূল্য আপডেট

<div id="container"></div>

<script>
/**
 * Define the version of the Google Pay API referenced when creating your
 * configuration
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|apiVersion in PaymentDataRequest}
 */
const baseRequest = {
  apiVersion: 2,
  apiVersionMinor: 0
};

/**
 * Card networks supported by your site and your gateway
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 * @todo confirm card networks supported by your site and gateway
 */
const allowedCardNetworks = ["AMEX", "DISCOVER", "JCB", "MASTERCARD", "VISA"];

/**
 * Card authentication methods supported by your site and your gateway
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 * @todo confirm your processor supports Android device tokens for your
 * supported card networks
 */
const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];

/**
 * Identify your gateway and your site's gateway merchant identifier
 *
 * The Google Pay API response will return an encrypted payment method capable
 * of being charged by a supported gateway after payer authorization
 *
 * @todo check with your gateway on the parameters to pass
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#gateway|PaymentMethodTokenizationSpecification}
 */
const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
    'gateway': 'example',
    'gatewayMerchantId': 'exampleGatewayMerchantId'
  }
};

/**
 * Describe your site's support for the CARD payment method and its required
 * fields
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 */
const baseCardPaymentMethod = {
  type: 'CARD',
  parameters: {
    allowedAuthMethods: allowedCardAuthMethods,
    allowedCardNetworks: allowedCardNetworks
  }
};

/**
 * Describe your site's support for the CARD payment method including optional
 * fields
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 */
const cardPaymentMethod = Object.assign(
  {},
  baseCardPaymentMethod,
  {
    tokenizationSpecification: tokenizationSpecification
  }
);

/**
 * An initialized google.payments.api.PaymentsClient object or null if not yet set
 *
 * @see {@link getGooglePaymentsClient}
 */
let paymentsClient = null;

/**
 * Configure your site's support for payment methods supported by the Google Pay
 * API.
 *
 * Each member of allowedPaymentMethods should contain only the required fields,
 * allowing reuse of this base request when determining a viewer's ability
 * to pay and later requesting a supported payment method
 *
 * @returns {object} Google Pay API version, payment methods supported by the site
 */
function getGoogleIsReadyToPayRequest() {
  return Object.assign(
      {},
      baseRequest,
      {
        allowedPaymentMethods: [baseCardPaymentMethod]
      }
  );
}

/**
 * Configure support for the Google Pay API
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|PaymentDataRequest}
 * @returns {object} PaymentDataRequest fields
 */
function getGooglePaymentDataRequest() {
  const paymentDataRequest = Object.assign({}, baseRequest);
  paymentDataRequest.allowedPaymentMethods = [cardPaymentMethod];
  paymentDataRequest.transactionInfo = getGoogleTransactionInfo();
  paymentDataRequest.merchantInfo = {
    // @todo a merchant ID is available for a production environment after approval by Google
    // See {@link https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist|Integration checklist}
    // merchantId: '12345678901234567890',
    merchantName: 'Example Merchant'
  };

  paymentDataRequest.callbackIntents = ["SHIPPING_ADDRESS",  "SHIPPING_OPTION", "PAYMENT_AUTHORIZATION"];
  paymentDataRequest.shippingAddressRequired = true;
  paymentDataRequest.shippingAddressParameters = getGoogleShippingAddressParameters();
  paymentDataRequest.shippingOptionRequired = true;

  return paymentDataRequest;
}

/**
 * Return an active PaymentsClient or initialize
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}
 * @returns {google.payments.api.PaymentsClient} Google Pay API client
 */
function getGooglePaymentsClient() {
  if ( paymentsClient === null ) {
    paymentsClient = new google.payments.api.PaymentsClient({
      environment: "TEST",
      merchantInfo: {
        merchantName: "Example Merchant",
        merchantId: "01234567890123456789"
      },
      paymentDataCallbacks: {
      	onPaymentAuthorized: onPaymentAuthorized,
        onPaymentDataChanged: onPaymentDataChanged
      }
    });
  }
  return paymentsClient;
}


function onPaymentAuthorized(paymentData) {
	return new Promise(function(resolve, reject){

  // handle the response
  processPayment(paymentData)
    .then(function() {
      resolve({transactionState: 'SUCCESS'});
    })
    .catch(function() {
    	resolve({
        transactionState: 'ERROR',
        error: {
          intent: 'PAYMENT_AUTHORIZATION',
          message: 'Insufficient funds',
          reason: 'PAYMENT_DATA_INVALID'
        }
      });
    });

  });
}

/**
 * Handles dynamic buy flow shipping address and shipping options callback intents.
 *
 * @param {object} itermediatePaymentData response from Google Pay API a shipping address or shipping option is selected in the payment sheet.
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#IntermediatePaymentData|IntermediatePaymentData object reference}
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentDataRequestUpdate|PaymentDataRequestUpdate}
 * @returns Promise<{object}> Promise of PaymentDataRequestUpdate object to update the payment sheet.
 */
function onPaymentDataChanged(intermediatePaymentData) {
  return new Promise(function(resolve, reject) {

   	let shippingAddress = intermediatePaymentData.shippingAddress;
    let shippingOptionData = intermediatePaymentData.shippingOptionData;
    let paymentDataRequestUpdate = {};

    if (intermediatePaymentData.callbackTrigger == "INITIALIZE" || intermediatePaymentData.callbackTrigger == "SHIPPING_ADDRESS") {
      if(shippingAddress.administrativeArea == "NJ")  {
        paymentDataRequestUpdate.error = getGoogleUnserviceableAddressError();
      }
      else {
        paymentDataRequestUpdate.newShippingOptionParameters = getGoogleDefaultShippingOptions();
        let selectedShippingOptionId = paymentDataRequestUpdate.newShippingOptionParameters.defaultSelectedOptionId;
        paymentDataRequestUpdate.newTransactionInfo = calculateNewTransactionInfo(selectedShippingOptionId);
      }
    }
    else if (intermediatePaymentData.callbackTrigger == "SHIPPING_OPTION") {
      paymentDataRequestUpdate.newTransactionInfo = calculateNewTransactionInfo(shippingOptionData.id);
    }

    resolve(paymentDataRequestUpdate);
  });
}

/**
 * Helper function to create a new TransactionInfo object.

 * @param string shippingOptionId respresenting the selected shipping option in the payment sheet.
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo|TransactionInfo}
 * @returns {object} transaction info, suitable for use as transactionInfo property of PaymentDataRequest
 */
function calculateNewTransactionInfo(shippingOptionId) {
        let newTransactionInfo = getGoogleTransactionInfo();

  let shippingCost = getShippingCosts()[shippingOptionId];
  newTransactionInfo.displayItems.push({
    type: "LINE_ITEM",
    label: "Shipping cost",
    price: shippingCost,
    status: "FINAL"
  });

  let totalPrice = 0.00;
  newTransactionInfo.displayItems.forEach(displayItem => totalPrice += parseFloat(displayItem.price));
  newTransactionInfo.totalPrice = totalPrice.toString();

  return newTransactionInfo;
}

/**
 * Initialize Google PaymentsClient after Google-hosted JavaScript has loaded
 *
 * Display a Google Pay payment button after confirmation of the viewer's
 * ability to pay.
 */
function onGooglePayLoaded() {
  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.isReadyToPay(getGoogleIsReadyToPayRequest())
      .then(function(response) {
        if (response.result) {
          addGooglePayButton();
          // @todo prefetch payment data to improve performance after confirming site functionality
          // prefetchGooglePaymentData();
        }
      })
      .catch(function(err) {
        // show error in developer console for debugging
        console.error(err);
      });
}

/**
 * Add a Google Pay purchase button alongside an existing checkout button
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#ButtonOptions|Button options}
 * @see {@link https://developers.google.com/pay/api/web/guides/brand-guidelines|Google Pay brand guidelines}
 */
function addGooglePayButton() {
  const paymentsClient = getGooglePaymentsClient();
  const button =
      paymentsClient.createButton({
        onClick: onGooglePaymentButtonClicked,
        allowedPaymentMethods: [baseCardPaymentMethod]
      });
  document.getElementById('container').appendChild(button);
}

/**
 * Provide Google Pay API with a payment amount, currency, and amount status
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo|TransactionInfo}
 * @returns {object} transaction info, suitable for use as transactionInfo property of PaymentDataRequest
 */
function getGoogleTransactionInfo() {
  return {
        displayItems: [
        {
          label: "Subtotal",
          type: "SUBTOTAL",
          price: "11.00",
        },
      {
          label: "Tax",
          type: "TAX",
          price: "1.00",
        }
    ],
    countryCode: 'US',
    currencyCode: "USD",
    totalPriceStatus: "FINAL",
    totalPrice: "12.00",
    totalPriceLabel: "Total"
  };
}

/**
 * Provide a key value store for shippping options.
 */
function getShippingCosts() {
        return {
    "shipping-001": "0.00",
    "shipping-002": "1.99",
    "shipping-003": "10.00"
  }
}

/**
 * Provide Google Pay API with shipping address parameters when using dynamic buy flow.
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#ShippingAddressParameters|ShippingAddressParameters}
 * @returns {object} shipping address details, suitable for use as shippingAddressParameters property of PaymentDataRequest
 */
function getGoogleShippingAddressParameters() {
        return  {
        allowedCountryCodes: ['US'],
    phoneNumberRequired: true
  };
}

/**
 * Provide Google Pay API with shipping options and a default selected shipping option.
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#ShippingOptionParameters|ShippingOptionParameters}
 * @returns {object} shipping option parameters, suitable for use as shippingOptionParameters property of PaymentDataRequest
 */
function getGoogleDefaultShippingOptions() {
        return {
      defaultSelectedOptionId: "shipping-001",
      shippingOptions: [
        {
          "id": "shipping-001",
          "label": "Free: Standard shipping",
          "description": "Free Shipping delivered in 5 business days."
        },
        {
          "id": "shipping-002",
          "label": "$1.99: Standard shipping",
          "description": "Standard shipping delivered in 3 business days."
        },
        {
          "id": "shipping-003",
          "label": "$10: Express shipping",
          "description": "Express shipping delivered in 1 business day."
        },
      ]
  };
}

/**
 * Provide Google Pay API with a payment data error.
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentDataError|PaymentDataError}
 * @returns {object} payment data error, suitable for use as error property of PaymentDataRequestUpdate
 */
function getGoogleUnserviceableAddressError() {
        return {
    reason: "SHIPPING_ADDRESS_UNSERVICEABLE",
    message: "Cannot ship to the selected address",
    intent: "SHIPPING_ADDRESS"
        };
}

/**
 * Prefetch payment data to improve performance
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/client#prefetchPaymentData|prefetchPaymentData()}
 */
function prefetchGooglePaymentData() {
  const paymentDataRequest = getGooglePaymentDataRequest();
  // transactionInfo must be set but does not affect cache
  paymentDataRequest.transactionInfo = {
    totalPriceStatus: 'NOT_CURRENTLY_KNOWN',
    currencyCode: 'USD'
  };
  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.prefetchPaymentData(paymentDataRequest);
}


/**
 * Show Google Pay payment sheet when Google Pay payment button is clicked
 */
function onGooglePaymentButtonClicked() {
  const paymentDataRequest = getGooglePaymentDataRequest();
  paymentDataRequest.transactionInfo = getGoogleTransactionInfo();

  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.loadPaymentData(paymentDataRequest);
}

/**
 * Process payment data returned by the Google Pay API
 *
 * @param {object} paymentData response from Google Pay API after user approves payment
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentData|PaymentData object reference}
 */
function processPayment(paymentData) {
	return new Promise(function(resolve, reject) {
  	setTimeout(function() {
    	// show returned data in developer console for debugging
   	 console.log(paymentData);
  		// @todo pass payment token to your gateway to process payment
  		paymentToken = paymentData.paymentMethodData.tokenizationData.token;

    	resolve({});
    }, 3000);
  });
}</script>
<script async
  src="https://pay.google.com/gp/p/js/pay.js"
  onload="onGooglePayLoaded()"></script>

অফার

<div id="container"></div>

<script>
/**
 * Please note: The Promo Code callback is extremely flexible. This example
 * implementation is only one of many ways to interface with it.
 *
 * In production, your promo codes and payment logic should be securely
 * processed on your server, not client-side as in this example. Use AJAX to
 * pass this information to the payment sheet.
 */

/**
 * Define the version of the Google Pay API referenced when creating your
 * configuration
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|apiVersion in PaymentDataRequest}
 */
const baseRequest = {
  apiVersion: 2,
  apiVersionMinor: 0
};

/**
 * Define valid promo code strings
 *
 * This object paradigm is not necessary to implement Promo Codes, but provides
 * an example of how to implement promo code behavior in a modular way.
 *
 * In production, your promo codes should be securely processed on your server,
 * not client-side as in this example.
 *
 * code: the way the promo code itself is displayed in the payment sheet
 * description: the description provided to the user on the payment sheet
 * function: the function used to calculate the price change
 * value: the value passed into the above function. This value should be
 * negative for a discount.
 */

const validPromoCodes = {
  SOMEPROMOCODE: {
    code: 'SOMEPROMOCODE',
    description: '20% off all products!',
    function: percentageDiscount,
    value: -20 // value should be negative for a discount
  },
  ANOTHERPROMOCODE: {
    code: 'ANOTHERPROMOCODE',
    description: '$5 dollars off!',
    function: staticDiscount,
    value: -5.00 // value should be negative for a discount
  }
}

/**
 * Card networks supported by your site and your gateway
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 * @todo confirm card networks supported by your site and gateway
 */
const allowedCardNetworks = ['AMEX', 'DISCOVER', 'JCB', 'MASTERCARD', 'VISA'];

/**
 * Card authentication methods supported by your site and your gateway
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 * @todo confirm your processor supports Android device tokens for your
 * supported card networks
 */
const allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];

/**
 * Identify your gateway and your site's gateway merchant identifier
 *
 * The Google Pay API response will return an encrypted payment method capable
 * of being charged by a supported gateway after payer authorization
 *
 * @todo check with your gateway on the parameters to pass
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#gateway|PaymentMethodTokenizationSpecification}
 */
const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
    gateway: 'example',
    gatewayMerchantId: 'exampleGatewayMerchantId'
  }
};

/**
 * Describe your site's support for the CARD payment method and its required
 * fields
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 */
const baseCardPaymentMethod = {
  type: 'CARD',
  parameters: {
    allowedAuthMethods: allowedCardAuthMethods,
    allowedCardNetworks: allowedCardNetworks
  }
};

/**
 * Describe your site's support for the CARD payment method including optional
 * fields
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#CardParameters|CardParameters}
 */
const cardPaymentMethod = Object.assign(
  {},
  baseCardPaymentMethod,
  {
    tokenizationSpecification: tokenizationSpecification
  }
);

/**
 * An initialized google.payments.api.PaymentsClient object or null if not yet set
 *
 * @see {@link getGooglePaymentsClient}
 */
let paymentsClient = null;

/**
 * Configure your site's support for payment methods supported by the Google Pay
 * API.
 *
 * Each member of allowedPaymentMethods should contain only the required fields,
 * allowing reuse of this base request when determining a viewer's ability
 * to pay and later requesting a supported payment method
 *
 * @returns {object} Google Pay API version, payment methods supported by the site
 */
function getGoogleIsReadyToPayRequest() {
  return Object.assign(
      {},
      baseRequest,
      {
        allowedPaymentMethods: [baseCardPaymentMethod]
      }
  );
}

/**
 * Configure support for the Google Pay API
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#PaymentDataRequest|PaymentDataRequest}
 * @returns {object} PaymentDataRequest fields
 */
function getGooglePaymentDataRequest() {
  const paymentDataRequest = Object.assign({}, baseRequest);
  paymentDataRequest.allowedPaymentMethods = [cardPaymentMethod];
  paymentDataRequest.transactionInfo = getGoogleTransactionInfo();
  paymentDataRequest.merchantInfo = {
    // @todo a merchant ID is available for a production environment after approval by Google
    // See {@link https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist|Integration checklist}
    // merchantId: '12345678901234567890',
    merchantName: 'Example Merchant'
  };

  paymentDataRequest.callbackIntents = ['OFFER'];
  paymentDataRequest.shippingAddressRequired = false;
  paymentDataRequest.shippingAddressParameters = getGoogleShippingAddressParameters();

  return paymentDataRequest;
}

/**
 * Return an active PaymentsClient or initialize
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/client#PaymentsClient|PaymentsClient constructor}
 * @returns {google.payments.api.PaymentsClient} Google Pay API client
 */
function getGooglePaymentsClient() {
  if ( paymentsClient === null ) {
    paymentsClient = new google.payments.api.PaymentsClient({
      environment: 'TEST',
      merchantInfo: {
        merchantName: 'Example Merchant',
        merchantId: '01234567890123456789'
      },
      paymentDataCallbacks: {
        onPaymentDataChanged: onPaymentDataChanged
      }
    });
  }
  return paymentsClient;
}

/**
 * These functions handle adding valid promo codes to the payment sheet
 * as well as adjusting the display items to match.
 *
 * To add a new promo code, create a new function per this template
 * and define it as valid in the onPaymentDataChanged function.
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentDataRequestUpdate|PaymentDataRequestUpdate}
 * @param {string} redemptionCode string representing the promo code to apply
 * @param {string} description string representing the description to show
 * @param {int} discountPercentage int representing the percentage to discount.
 * Please note the discount value should be negative. Ex: -20 = 20% discount.
 * @param {object} PaymentDataRequestUpdate object representing
 * the current state of the payment data request.
 * @returns {object} PaymentDataRequestUpdate object to update the
 * payment sheet with new transaction info and offer data.
 */

function percentageDiscount(promoParameters, paymentDataRequestUpdate) {
  // set variables
  let originalTransactionInfo = getGoogleTransactionInfo();
  /* because this promo code calculates a % of original prices,
   * we need to get the original transaction info */
  let newTransactionInfo = paymentDataRequestUpdate.newTransactionInfo;
  let discount = 0;

    // update promo code and description
  paymentDataRequestUpdate.newOfferInfo.offers.push({
    redemptionCode: promoParameters['code'],
    description: promoParameters['description']
  });

  // calculate discount (from original transaction items only)
  originalTransactionInfo.displayItems.forEach(function(displayItem) {
    discount += parseFloat(displayItem.price) * promoParameters['value'] * 0.01;
  });

  // add displayItem with new discount
  newTransactionInfo.displayItems.push({
      label: promoParameters['code'],
      price: discount.toFixed(2),
      type: 'LINE_ITEM'
  });

  return paymentDataRequestUpdate;
}

function staticDiscount(promoParameters, paymentDataRequestUpdate) {
  // set variables
  let newTransactionInfo = paymentDataRequestUpdate.newTransactionInfo;

    // update promo code and description
  paymentDataRequestUpdate.newOfferInfo.offers.push({
    redemptionCode: promoParameters['code'],
    description: promoParameters['description']
  });

  // add displayItem with new discount
  newTransactionInfo.displayItems.push({
      label: promoParameters['code'],
      price: promoParameters['value'].toFixed(2),
      type: 'LINE_ITEM'
  });

  return paymentDataRequestUpdate;
}

/**
 * Handles offer callback intents.
 *
 * @param {object} itermediatePaymentData response from Google Pay API when a promo code is entered in the google pay payment sheet.
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#IntermediatePaymentData|IntermediatePaymentData object reference}
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentDataRequestUpdate|PaymentDataRequestUpdate}
 * @returns Promise<{object}> Promise of PaymentDataRequestUpdate object to update the payment sheet with new transaction info and offer data.
 */
function onPaymentDataChanged(intermediatePaymentData) {
  return new Promise(function(resolve, reject) {

    let redemptionCodes = new Set();
    let shippingOptionData = intermediatePaymentData.shippingOptionData;
    let paymentDataRequestUpdate = {};
    paymentDataRequestUpdate.newTransactionInfo = getGoogleTransactionInfo();

    // ensure that promo codes set is unique
    if(typeof intermediatePaymentData.offerData != 'undefined') {
      redemptionCodes = new Set(intermediatePaymentData.offerData.redemptionCodes);
    }

    // validate promo codes and add descriptions to payment sheet
    if (intermediatePaymentData.callbackTrigger === 'OFFER') {
      paymentDataRequestUpdate.newOfferInfo = {};
      paymentDataRequestUpdate.newOfferInfo.offers = [];
      for (redemptionCode of redemptionCodes) {
        if (validPromoCodes[redemptionCode]) {
          paymentDataRequestUpdate = validPromoCodes[redemptionCode].function(
            validPromoCodes[redemptionCode],
            paymentDataRequestUpdate
          );
        } else {
          paymentDataRequestUpdate.error = getGoogleOfferInvalidError(redemptionCode);
        }
      }
    }
    /**
     * Update item costs and total.
     *
     * In production, this final calculation should always be calculated
     * server-side to ensure it matches the price that the merchant sends to the
     * processor.
     */
    paymentDataRequestUpdate.newTransactionInfo = calculateNewTransactionInfo(
      paymentDataRequestUpdate.newTransactionInfo
    )

    resolve(paymentDataRequestUpdate);
  });
}

/**
 * Helper function to update the TransactionInfo object.
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo|TransactionInfo}
 * @param {object} transactionInfo respresenting the selected shipping option in the payment sheet.
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo|TransactionInfo}
 * @returns {object} transaction info, suitable for use as transactionInfo property of PaymentDataRequest
 */
function calculateNewTransactionInfo(newTransactionInfo) {
  // calculate the new totalPrice from display items
  let totalPrice = 0.00;
  newTransactionInfo.displayItems.forEach(
    function(displayItem) {
      totalPrice += parseFloat(displayItem.price);
    }
  );
  // Note: newTransactionInfo.totalPrice must be a string
  newTransactionInfo.totalPrice = totalPrice.toFixed(2);

  return newTransactionInfo;
}

/**
 * Initialize Google PaymentsClient after Google-hosted JavaScript has loaded
 *
 * Display a Google Pay payment button after confirmation of the viewer's
 * ability to pay.
 */
function onGooglePayLoaded() {
  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.isReadyToPay(getGoogleIsReadyToPayRequest())
      .then(function(response) {
        if (response.result) {
          addGooglePayButton();
          // @todo prefetch payment data to improve performance after confirming site functionality
          // prefetchGooglePaymentData();
        }
      })
      .catch(function(err) {
        // show error in developer console for debugging
        console.error(err);
      });
}

/**
 * Add a Google Pay purchase button alongside an existing checkout button
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#ButtonOptions|Button options}
 * @see {@link https://developers.google.com/pay/api/web/guides/brand-guidelines|Google Pay brand guidelines}
 */
function addGooglePayButton() {
  const paymentsClient = getGooglePaymentsClient();
  const button =
      paymentsClient.createButton({
        onClick: onGooglePaymentButtonClicked,
        allowedPaymentMethods: [baseCardPaymentMethod]
      });
  document.getElementById('container').appendChild(button);
}

/**
 * Provide Google Pay API with a payment amount, currency, and amount status
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#TransactionInfo|TransactionInfo}
 * @returns {object} transaction info, suitable for use as transactionInfo property of PaymentDataRequest
 */
function getGoogleTransactionInfo() {
  return {
        displayItems: [
        {
          label: 'Subtotal',
          type: 'SUBTOTAL',
          price: '11.00',
          status: 'FINAL'
        },
        {
          label: 'Tax',
          type: 'TAX',
          price: '1.00'
        }
    ],
    currencyCode: 'USD',
    totalPriceStatus: 'FINAL',
    totalPrice: '12.00',
    totalPriceLabel: 'Total'
  };
}

/**
 * Provide Google Pay API with shipping address parameters.
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/request-objects#ShippingAddressParameters|ShippingAddressParameters}
 * @returns {object} shipping address details, suitable for use as shippingAddressParameters property of PaymentDataRequest
 */
function getGoogleShippingAddressParameters() {
        return  {
        allowedCountryCodes: ['US', 'UK', 'FR', 'CA', 'MX', 'GA'],
    phoneNumberRequired: false
  };
}

/**
 * Provide Google Pay API with an invalid offer error.
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentDataError|PaymentDataError}
 * @returns {object} payment data error, suitable for use as error property of PaymentDataRequestUpdate
 */
function getGoogleOfferInvalidError(redemptionCode) {
        return {
    reason: 'OFFER_INVALID',
    message: redemptionCode + ' is not a valid promo code.',
    intent: 'OFFER'
        };
}

/**
 * Prefetch payment data to improve performance
 *
 * @see {@link https://developers.google.com/pay/api/web/reference/client#prefetchPaymentData|prefetchPaymentData()}
 */
function prefetchGooglePaymentData() {
  const paymentDataRequest = getGooglePaymentDataRequest();
  // transactionInfo must be set but does not affect cache
  paymentDataRequest.transactionInfo = {
    totalPriceStatus: 'NOT_CURRENTLY_KNOWN',
    currencyCode: 'USD'
  };
  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.prefetchPaymentData(paymentDataRequest);
}


/**
 * Show Google Pay payment sheet when Google Pay payment button is clicked
 */
function onGooglePaymentButtonClicked() {
  const paymentDataRequest = getGooglePaymentDataRequest();
  paymentDataRequest.transactionInfo = getGoogleTransactionInfo();

  const paymentsClient = getGooglePaymentsClient();
  paymentsClient.loadPaymentData(paymentDataRequest)
      .then(function(paymentData) {
        // handle the response
        processPayment(paymentData);
      })
      .catch(function(err) {
        // show error in developer console for debugging
        console.error(err);
      });
}

/**
 * Process payment data returned by the Google Pay API
 * In a production environment, this function should always be implemented
 * server-side.
 *
 * @param {object} paymentData response from Google Pay API after user approves payment
 * @see {@link https://developers.google.com/pay/api/web/reference/response-objects#PaymentData|PaymentData object reference}
 */
function processPayment(paymentData) {
  // show returned data in developer console for debugging
    console.log(paymentData);
  // @todo pass payment token to your gateway to process payment
  paymentToken = paymentData.paymentMethodData.tokenizationData.token;
}</script>
<script async
  src="https://pay.google.com/gp/p/js/pay.js"
  onload="onGooglePayLoaded()"></script>
উদ্দেশ্য : আপনার ইন্টিগ্রেশন যাচাই করতে এবং উৎপাদন অ্যাক্সেসের অনুরোধ করতে আমাদের ইন্টিগ্রেশন চেকলিস্টে যান।