शुरू से आखिर तक ऑर्डर करने की सुविधा से, सैंडबॉक्स के पेमेंट मोड को कॉन्फ़िगर किया जा सकता है में से कोई एक विकल्प चुन सकता है. अपने डेटा की जांच करते समय फ़ीड है, तो आप सैंडबॉक्स और प्रोडक्शन भुगतान मोड के बीच स्विच कर सकते हैं. कार्रवाई करने के लिए सीधे कार्ड से ऑर्डर किए बिना, अपने ऑर्डर से जुड़े प्रोजेक्ट के लिए पेमेंट की जांच करें. इसके लिए, सैंडबॉक्स को अपने पेमेंट मोड के तौर पर सबमिट करें. प्रोडक्शन एनवायरमेंट में में सैंडबॉक्स के पेमेंट मोड का इस्तेमाल किया जा सकता है.
कॉन्फ़िगरेशन
सैंडबॉक्स एनवायरमेंट में सैंडबॉक्स पेमेंट मोड चालू करने के लिए, इन निर्देशों का पालन करें चरण:
- कार्रवाई केंद्र पर, कॉन्फ़िगरेशन > सुविधाएं पर जाएं.
- खाते से जुड़ी सुविधाएं कार्ड पर, पेमेंट मोड वाला रेडियो बटन ढूंढें.
- सैंडबॉक्स विकल्प चुनें और बदलाव सेव करें पर क्लिक करें.
क्विक टेस्ट एनवायरमेंट में सैंडबॉक्स पेमेंट मोड को चालू करने के लिए, इन निर्देशों का पालन करें चरण:
- कार्रवाई केंद्र में, फ़ीड पर जाएं > क्विक टेस्ट.
- GPay के लिए सैंडबॉक्स का इस्तेमाल करें रेडियो बटन चुनें.
सैंडबॉक्स पेमेंट मोड चुनने पर:
- शुरू से आखिर तक ऑर्डर करने पर, Google Pay उस इंस्ट्रुमेंट टोकन को लौटाने के लिए कॉन्फ़िगर हो जाता है जो कार्ड की जानकारी के बजाय, टेस्ट कार्ड का डेटा शामिल करें.
- इसमें
isInSandbox
फ़ील्ड कोtrue
पर सेट किया गया है CheckoutRequestMessage और SubmitOrderRequestMessage.
एनवायरमेंट, पेमेंट मोड, और isInSandbox के अलग-अलग कॉम्बिनेशन ये हैं:
परिवेश | पेमेंट मोड | isInSandbox |
---|---|---|
तेज़ और आसान टेस्ट | Sandbox | सही |
तेज़ और आसान टेस्ट | प्रोडक्शन | गलत |
Sandbox | Sandbox | सही |
Sandbox | प्रोडक्शन | गलत |
प्रोडक्शन | प्रोडक्शन | गलत |
चेकआउट का जवाब देने के लिए मैसेज
खाना ऑर्डर करने वाली आपकी वेब सेवा से भेजे गए CheckoutResponseMessage
में ये चीज़ें शामिल हैं
PaymentOptions
. आसानी से अपने कैलेंडर में जोड़ें.
अपना चेकआउट सेट अप करें,
उदाहरण के तौर पर दिए गए पेमेंट गेटवे का इस्तेमाल करके, प्लेसहोल्डर पेमेंट के विकल्प दिए जाते हैं.
- वेब से भेजे गए
CheckoutResponseMessage
को अपडेट करना न भूलें सही टोकनाइज़ेशन कॉन्फ़िगरेशन वाली सेवा.
पेमेंट के विकल्पों के उदाहरण
यहां JSON PaymentOptions
ऑब्जेक्ट के उदाहरण दिए गए हैं
सैंडबॉक्स कुंजियों का इस्तेमाल करके, कई पेमेंट गेटवे के लिए CheckoutResponseMessage
:
JSON
"paymentOptions": { "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\":2,\"apiVersionMinor\":0,\"merchantInfo\":{\"merchantName\":\"merchantName\"},\"allowedPaymentMethods\":[{\"type\":\"CARD\",\"parameters\":{\"allowedAuthMethods\":[\"PAN_ONLY\"],\"allowedCardNetworks\":[\"VISA\",\"MASTERCARD\"],\"billingAddressRequired\":true,\"cvcRequired\":false},\"tokenizationSpecification\":{\"type\":\"PAYMENT_GATEWAY\",\"parameters\":{\"gatewayMerchantId\":\"YOUR_MERCHANT_ID\",\"gateway\":\"cybersource\"}}}],\"transactionInfo\":{\"currencyCode\":\"USD\",\"totalPriceStatus\":\"ESTIMATED\",\"totalPrice\":\"31.85\"}} " } }
JSON
"paymentOptions": { "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\":2,\"apiVersionMinor\":0,\"merchantInfo\":{\"merchantName\":\"merchantName\"},\"allowedPaymentMethods\":[{\"type\":\"CARD\",\"parameters\":{\"allowedAuthMethods\":[\"PAN_ONLY\"],\"allowedCardNetworks\":[\"VISA\",\"MASTERCARD\"],\"billingAddressRequired\":true,\"cvcRequired\":false},\"tokenizationSpecification\":{\"type\":\"PAYMENT_GATEWAY\",\"parameters\":{\"gateway\":\"braintree\",\"braintree:apiVersion\":\"v1\",\"braintree:sdkVersion\":\"1.4.0\",\"braintree:merchantId\":\"YOUR_MERCHANT_ID\",\"braintree:clientKey\":\"YOUR_BRAINTREE_SANDVOX_OR_PRODUCTION_KEY\"}}}],\"transactionInfo\":{\"currencyCode\":\"USD\",\"totalPriceStatus\":\"ESTIMATED\",\"totalPrice\":\"31.85\"}} " } }
JSON
"paymentOptions": { "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\":2,\"apiVersionMinor\":0,\"merchantInfo\":{\"merchantName\":\"merchantName\"},\"allowedPaymentMethods\":[{\"type\":\"CARD\",\"parameters\":{\"allowedAuthMethods\":[\"PAN_ONLY\"],\"allowedCardNetworks\":[\"VISA\",\"MASTERCARD\"],\"billingAddressRequired\":true,\"cvcRequired\":false},\"tokenizationSpecification\":{\"type\":\"PAYMENT_GATEWAY\",\"parameters\":{\"gateway\":\"stripe\",\"stripe:version\":\"2018-10-31\",\"stripe:publishableKey\":\"YOUR_PRODUCTION_OR_SANDBOX_STRIPE_KEY\"}}}],\"transactionInfo\":{\"currencyCode\":\"USD\",\"totalPriceStatus\":\"ESTIMATED\",\"totalPrice\":\"31.85\"}} " } }
JSON
"paymentOptions": { "googleProvidedOptions": { "facilitationSpecification": "{\"apiVersion\":2,\"apiVersionMinor\":0,\"merchantInfo\":{\"merchantName\":\"merchantName\"},\"allowedPaymentMethods\":[{\"type\":\"CARD\",\"parameters\":{\"allowedAuthMethods\":[\"PAN_ONLY\"],\"allowedCardNetworks\":[\"VISA\",\"MASTERCARD\"],\"billingAddressRequired\":true,\"cvcRequired\":false},\"tokenizationSpecification\":{\"type\":\"PAYMENT_GATEWAY\",\"parameters\":{\"gateway\":\"stripev2\",\"gatewayMerchantId\":\"YOUR_PRODUCTION_OR_SANDBOX_STRIPE_KEY\"}}}],\"transactionInfo\":{\"currencyCode\":\"USD\",\"totalPriceStatus\":\"ESTIMATED\",\"totalPrice\":\"31.85\"}} " } }
सैंडबॉक्स लेन-देन की शिकायत करें
सैंडबॉक्स पेमेंट मोड चालू होने पर, isInSandbox
फ़ील्ड
अनुरोध में शामिल है. आपके वेब पर आने वाले अनुरोधों के लिए, इसे true
पर सेट किया गया है
सेवा एंडपॉइंट (CheckoutRequestMessage
और SubmitOrderRequestMessage
).
जब isInSandbox
फ़ील्ड को true
पर सेट किया जाए, तो ये करें:
- टोकनाइज़ेशन में, प्रोडक्शन कुंजियों के बजाय सैंडबॉक्स कुंजियों का इस्तेमाल करें पेमेंट गेटवे का कॉन्फ़िगरेशन. ज़्यादातर पेमेंट प्रोसेस करने वाली कंपनियां, एपीआई की सुविधा देती हैं सैंडबॉक्स और प्रोडक्शन, दोनों के लिए कुंजियों का इस्तेमाल करें.
- वेब सेवा देने वाली कंपनी के साथ कोई संचार ट्रिगर न करें, आम तौर पर रेस्टोरेंट के लिए रजिस्ट्रेशन न कर सकें, क्योंकि उन्हें किसी सैंडबॉक्स लेन-देन के बारे में जानकारी नहीं देनी होती.
टेस्ट क्रेडिट कार्ड तब भी काम नहीं करते, जब ट्रांज़ैक्शन सैंडबॉक्स चालू किया गया. पेमेंट करते समय आपको असली क्रेडिट कार्ड का इस्तेमाल करना होगा. हालांकि, सैंडबॉक्स इंस्ट्रुमेंट टोकन में टेस्ट कार्ड की जानकारी होती है, जिसका शुल्क नहीं लिया जाता.
पेमेंट प्रोसेस करें
जब कोई ग्राहक अपना ऑर्डर सबमिट करता है, तो खाना ऑर्डर करने की सुविधा सीधे
SubmitOrderRequestMessage
आपके वेब सेवा के एंडपॉइंट तक. Google Pay
टोकन
को SubmitOrderRequestMessage
में बेस-64 कोड में बदले गए स्ट्रिंग के तौर पर शामिल किया जाता है
instrumentToken
फ़ील्ड में डालें. ग्राहक का पेमेंट प्रोसेस करने के लिए, इनमें से कोई एक काम करें
पेमेंट गेटवे:
पेमेंट गेटवे | |
---|---|
स्ट्राइप या ब्रेनट्री | बेस-64 से एन्कोड किए गए टोकन स्ट्रिंग को डिकोड करें. इसके बाद, डिकोड किए गए टोकन पेलोड में मौजूद सही डेटा को अपने पेमेंट गेटवे पर भेजें, ताकि पेमेंट प्रोसेस किया जा सके. |
अन्य सभी पेमेंट गेटवे (tripev2 सहित) | पेमेंट प्रोसेस करने के लिए, अपने पेमेंट गेटवे एपीआई पर, base-64 कोड में बदले गए पूरे टोकन स्ट्रिंग को भेजें. Google Pay पेमेंट के तरीके के टोकन के स्ट्रक्चर में एन्क्रिप्ट (सुरक्षित) किए गए फ़ील्ड होते हैं. आपका पेमेंट गेटवे, इन फ़ील्ड को डिक्रिप्ट करके पेमेंट प्रोसेस कर सकता है. |
डिकोड किए गए पेलोड का उदाहरण
इन उदाहरणों में, instrumentToken
में लौटाए गए डिकोड किए गए पेलोड दिखाए गए हैं
अलग-अलग पेमेंट गेटवे के लिए फ़ील्ड:
JSON
JSON के इस उदाहरण में, डिकोड किए गए पेमेंट टोकन का इस्तेमाल किया गया है
Braintree. nonce
फ़ील्ड की वैल्यू निकालें
और पेमेंट प्रोसेस करने के लिए Braintree को वैल्यू भेजें.
{ "androidPayCards": [{ "type": "AndroidPayCard", "nonce": "aeeb8297-4242...", "description": "AndroidPay", "consumed": false, "details": { "cardType": "Visa", "lastTwo": "29" } }] }
अगर Braintree के कंट्रोल पैनल में Google Pay चालू नहीं है, तो
instrumentToken
फ़ील्ड नीचे दी गई गड़बड़ी को डिकोड करता है:
{ "error": { "message": "Record not found" }, "fieldErrors": [] }
JSON
JSON का यह उदाहरण, Stripe का इस्तेमाल करते समय डिकोड किया गया पेमेंट टोकन दिखाता है.
id
फ़ील्ड की वैल्यू निकालें और उसे Stripe पर भेजें,
भुगतान प्रोसेस करने में मदद मिलती है.
{ "id": "tok_abcdefg1234...", "object": "token", "card": { "id": "card_abcde...", "object": "card", "address_city": null, "address_country": null, "address_line1": null, "address_line1_check": null, "address_line2": null, "address_state": null, "address_zip": null, "address_zip_check": null, "brand": "Visa", "country": "US", "cvc_check": null, "dynamic_last4": "1234", "exp_month": 1, "exp_year": 2019, "funding": "credit", "last4": "1234", "metadata": {}, "name": null, "tokenization_method": "android_pay" }, "client_ip": "74.125.177.36", "created": 1500483670, "livemode": false, "type": "card", "used": false }
JSON
JSON के इस उदाहरण में, बार-बार का इस्तेमाल करते समय डिकोड किया गया पेमेंट टोकन दिखाया गया है.
{ "protocolVersion":"ECv2", "signature":"MEQCIH6Q4OwQ0jAceFEkGF0JID6sJNXxOEi4r+mA7biRxqBQAiAondqoUpU/bdsrAOpZIsrHQS9nwiiNwOrr24RyPeHA0Q\u003d\u003d", "intermediateSigningKey":{ "signedKey": "{\"keyExpiration\":\"1542323393147\",\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/1+3HBVSbdv+j7NaArdgMyoSAM43yRydzqdg1TxodSzA96Dj4Mc1EiKroxxunavVIvdxGnJeFViTzFvzFRxyCw\\u003d\\u003d\"}", "signatures": ["MEYCIQCO2EIi48s8VTH+ilMEpoXLFfkxAwHjfPSCVED/QDSHmQIhALLJmrUlNAY8hDQRV/y1iKZGsWpeNmIP+z+tCQHQxP0v"] }, "signedMessage":"{\"tag\":\"jpGz1F1Bcoi/fCNxI9n7Qrsw7i7KHrGtTf3NrRclt+U\\u003d\",\"ephemeralPublicKey\":\"BJatyFvFPPD21l8/uLP46Ta1hsKHndf8Z+tAgk+DEPQgYTkhHy19cF3h/bXs0tWTmZtnNm+vlVrKbRU9K8+7cZs\\u003d\",\"encryptedMessage\":\"mKOoXwi8OavZ\"}" }
JSON
JSON के इस उदाहरण में, Square का इस्तेमाल करते समय डिकोड किया गया पेमेंट टोकन दिखाया गया है.
{ "signature": "MEYCIQCMAsWCrY2GfHM/gMAKiK3QCKJJOIkjZeTQGzcdWgvrhwIhAJ3mXwe+wmU9z+Apv1rTDsCVQBzayvWzT4ywxytrSPla", "protocolVersion": "ECv1", "signedMessage": "{\"encryptedMessage\":\"WkYz21EYxojwTqWh6A3oYXtmctu1PlqF+tNYPA4cq017nqj16Ge7kaVR7MI1XG1OrCmcMwP20u5Zb5E28XYan8UI8M4L120orvE9XU1ivZuO4Myq2O3ue8v0lY1MDx8Mnk+5mkAv1kLmzJc91gEQ2leIwrPuMDYqsQUHzTR3Jikh5/v+iWRkyQPKKxgj5c6Erdu/pkg1xV6fQJcHNdq9Jw11zl95x6eQurxw2Uy8v811azGr+noKJbw0uye72MkhmzMS5QKOzwGT9nBfO+zPLYSEewsdOcPbNZF94zk/KU9nxom/gQ+eYEMIZvOj9lO4gQqDqR6DyWyStk7MjeXQTvXWZBI1JpqvOrlTHL0Ct18RpbfOio7hAtafzb0NnqEKlsun+SSpJmvI7U6n6Cnu1JUMUGfT/Jsi6RJ3N6pRw2BubeR1925Xl3jXQnlz5io6X1YRlAcnshZyf6CjBpKES32aTf1m1IHRhZ2Jj6i/g7Y\\u003d\",\"ephemeralPublicKey\":\"BDQA0Cf//BHPcnB0R/GRrWa2g7T1QF97eOhAYy7l45M+kJnsoeL9OaUQV/KIMLvcgbmKkZIm2FQeL7ftd6S4q4c\\u003d\",\"tag\":\"DHtVyXNo+PDr7Thi/EjBBbsr2k7y1SwGIn0D9mmPTJc\\u003d\"}" }
टोकन का इस्तेमाल करके पेमेंट प्रोसेस करने के लिए, base-64 कोड में बदले गए टोकन स्ट्रिंग को अपने अनुरोध के साथ source_id
फ़ील्ड में भेजें. इस फ़ील्ड के पहले gpay: है
{ "idempotency_key": "ID", "source_id": "gpay:GOOGLE_PAY_BASE64_ENCODED_TOKEN", "amount_money": { "amount": 50, "currency": "USD" }, "location_id": "LOCATION_ID", "billing_address": { "postal_code": "11111" } }
यह Node.js का उदाहरण है, जो base-64 कोड में बदले गए कोड को डीकोड करता है
ब्रेनट्री की ओर से instrumentToken
:
Node.js
function decodeToken(instrumentToken) { let decodedString = new Buffer(instrumentToken, 'base64').toString('ascii') if (decodedString.androidPayCards) { return decodedString.androidPayCards[0].nonce; } }