Shopify स्क्रिप्ट्स API संदर्भ

Ruby API वापरून स्क्रिप्ट्स लिहिल्या जातात, ज्यामुळे तुम्हाला खूप नियंत्रण आणि लवचिकता मिळते.

स्क्रिप्टचे विविध प्रकार आहेत. तुम्ही ज्या स्क्रिप्ट टेम्पलेटने सुरुवात करण्यासाठी निवडता, त्या आधारावर, Script Editor अ‍ॅपमध्ये स्क्रिप्ट तयार करताना त्याला एक प्रकार नियुक्त केला जातो:

लाइन आयटम स्क्रिप्ट्स

लाइन आयटम स्क्रिप्ट्स कार्टमधील लाइन आयटम्सवर परिणाम करतात आणि त्या किंमती बदलू शकतात व सवलती देऊ शकतात. जेव्हा कार्टमध्ये बदल केला जातो, तेव्हा या स्क्रिप्ट्स चालवल्या जातात.

सबस्क्रिप्शनवर सवलत देणाऱ्या लाइन आयटम स्क्रिप्ट्स फक्त सबस्क्रिप्शनच्या पहिल्या पेमेंटसाठी लागू होतात. त्यानंतरच्या पेमेंट्सवर स्क्रिप्टद्वारे सवलत दिली जात नाही.

काही पद्धती फक्त लाइन आयटम स्क्रिप्ट्समध्ये वापरल्या जाऊ शकतात.

शिपिंग स्क्रिप्ट्स

शिपिंग स्क्रिप्ट्स शिपिंगशी संवाद साधतात आणि त्या शिपिंग पद्धती बदलू शकतात व शिपिंग दरांवर सवलती देऊ शकतात. चेकआउट जेव्हा शिपिंग पर्यायांच्या पेजवर पोहोचते तेव्हा या स्क्रिप्ट्स चालवल्या जातात.

सबस्क्रिप्शन शिप करण्याच्या दरावर सवलत देणाऱ्या शिपिंग स्क्रिप्ट्स फक्त सबस्क्रिप्शनच्या पहिल्या पेमेंटसाठी लागू होतात. त्यानंतरच्या पेमेंट्सवर स्क्रिप्टद्वारे सवलत दिली जात नाही.

<p>Some methods <a href="#shipping-methods">can only be used in shipping scripts</a>.</p>

पेमेंट स्क्रिप्ट्स

पेमेंट स्क्रिप्ट्स पेमेंट्सशी संवाद साधतात आणि पेमेंट गेटवेची नावे बदलू शकतात, ते लपवू शकतात आणि त्यांचा क्रम बदलू शकतात. कृपया लक्षात घ्या की, Apple Pay सारख्या चेकआउट स्क्रीनच्या आधी दाखवलेल्या पेमेंट गेटवेशी पेमेंट स्क्रिप्ट्स संवाद साधत नाहीत. जेव्हा चेकआउट पेमेंट पेजवर पोहोचते तेव्हा या स्क्रिप्ट्स चालवल्या जातात.

काही पद्धती फक्त पेमेंट स्क्रिप्ट्समध्ये वापरल्या जाऊ शकतात.

सामान्य पद्धती

खालील पद्धती कोणत्याही प्रकारच्या स्क्रिप्टमध्ये वापरता येण्याजोग्या आहेत:

इनपुट

स्क्रिप्ट इनपुट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.cartकार्टबदलता येणारा कार्ट ऑब्जेक्ट रिटर्न करते.
.localeस्ट्रिंगग्राहकाचे लोकॅल रिटर्न करते. उदाहरणार्थ, en, fr किंवा pt-BR.

कार्ट

कार्ट ऑब्जेक्ट केवळ ऑनलाइन स्टोअरवर उपलब्ध आहे. काही सोडून दिलेल्या चेकआउट्सना कार्ट ऑब्जेक्टचा अ‍ॅक्सेस असतो. तथापि, एखादे चेकआउट बंद केले गेले असेल आणि नंतर ग्राहकाने सोडून दिलेल्या चेकआउटला भेट दिली, तर ते त्यांना आधीच भरलेल्या चेकआउटवर पाठवते आणि कार्ट ऑब्जेक्ट यापुढे अस्तित्वात राहत नाही. याचे कारण असे की अर्धवट सोडलेल्या चेकआउट ईमेलद्वारे स्टोअरफ्रंट बायपास केले गेले आहे.

कार्ट ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.customerग्राहककार्टचा मालक रिटर्न करते (असल्यास).
.shipping_addressShippingAddressकार्टच्या मालकाचा शिपिंग पत्ता (असल्यास) रिटर्न करते.
.discount_codeबदलते रिटर्न करते:
  • कार्टमध्ये कोणताही सवलत कोड नसल्यास nil
  • कार्टमध्ये निश्चित सवलत रक्कम असल्यास CartDiscount::FixedAmount
  • कार्टमध्ये टक्केवारीनुसार सवलत असल्यास CartDiscount::Percentage
  • कार्टमध्ये शिपिंग सवलत असल्यास CartDiscount::Shipping
  • एखादा सवलत कोड रिटर्न करते (मर्यादा पहा)

कार्टला सवलत लागू केली असल्यास discount_code उपस्थित असतो. याचा अर्थ असा नाही की कार्टची किंमत बदलत आहे. उदाहरणार्थ, जर $50 च्या वरील कार्टला सवलत लागू होत असेल, आणि स्क्रिप्ट कार्टची किंमत $50 च्या खाली कमी करत असेल, तरीही discount_code तिथे असतो परंतु कार्टची किंमत बदलत नाही.

<p><a href="/manual/checkout-settings/script-editor/examples/vat-script">See an example of <code>discount_code</code></a>.</p>
  </td>
</tr>
<tr>
  <td scope="row">.line_items</td>
  <td><a href="#list">List</a>&lt;LineItem&gt;</td>
  <td>Returns a list containing the line items in the cart.</td>
</tr>
<tr>
  <td scope="row">.presentment_currency</td>
  <td><a href="#list">List</a>&lt;String&gt;</td>
  <td>Returns the customer's local (presentment) currency (in <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO 4217</a> format). For example, USD. </td>
</tr>
<tr>
  <td scope="row">.subtotal_price</td>
  <td><a href="#money">Money</a></td>
  <td>Returns the subtotal price of the cart after line item discounts are applied but before discount codes are applied.</td>
</tr>
<tr>
  <td scope="row">.total_weight</td>
  <td><a href="https://shopify.dev/api/liquid/objects/line_item#line_item-grams">grams</a></td>
  <td>Returns the total weight of all the line items in the cart.</td>
</tr>

CartDiscount::FixedAmount

CartDiscount::FixedAmount ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.codeस्ट्रिंगसवलत लागू करण्यासाठी वापरलेला सवलत कोड रिटर्न करते.
.amountMoneyसवलतीची पैशांमधील रक्कम परत करते.
.reject({ message: String })nilकार्टमध्ये लागू केलेला सवलत कोड नाकारते. message आवश्यक आहे.
.rejected?बुलियनसवलत कोड नाकारला गेला होता की नाही हे परत करते.

CartDiscount::Percentage

CartDiscount::Percentage ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.codeस्ट्रिंगसवलत लागू करण्यासाठी वापरलेला सवलत कोड रिटर्न करते.
.percentageडेसिमलसवलतीची टक्केवारी रक्कम परत करते.
.reject({ message: String })nilकार्टमध्ये लागू केलेला सवलत कोड नाकारते. message आवश्यक आहे.
.rejected?बुलियनसवलत कोड नाकारला गेला होता की नाही हे परत करते.

CartDiscount::Shipping

CartDiscount::Shipping ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.codeस्ट्रिंगसवलत लागू करण्यासाठी वापरलेला सवलत कोड रिटर्न करते.
.reject({ message: String })nilकार्टमध्ये लागू केलेला सवलत कोड नाकारते. message आवश्यक आहे.
.rejected?बुलियनसवलत कोड नाकारला गेला होता की नाही हे परत करते.

Customer

Customer ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.idइंटिजरग्राहकाचा ID नंबर परत करते.
.emailस्ट्रिंगग्राहकाचा ईमेल ॲड्रेस परत करते.
.tagsList<Tag>ग्राहकासाठी सेट केलेले कोणतेही टॅग दर्शवणाऱ्या स्ट्रिंगची सूची परत करते.
.orders_countइंटिजरग्राहकाने दिलेल्या ऑर्डरची एकूण संख्या परत करते.
.total_spentMoneyग्राहकाने सर्व ऑर्डरवर खर्च केलेली एकूण रक्कम परत करते.
.accepts_marketing?बुलियनग्राहक मार्केटिंग स्वीकारतो की नाही हे परत करते.

LineItem

LineItem ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.gramsgramsलाइन आयटमचे एकूण वजन परत करते.
.line_priceMoneyलाइन आयटमची किंमत.
.discounted?बुलियनलाइन आयटमच्या किमतीवर स्क्रिप्टने किंवा मॅन्युअली लागू केलेल्या सवलतीद्वारे सवलत दिली आहे की नाही हे परत करते. सवलत कोड वापरल्याचा रिटर्न व्हॅल्यूवर परिणाम होत नाही.
.propertiesहॅशया लाइन आयटमसाठी निर्दिष्ट केलेले गुणधर्म परत करते.
.variantव्हेरिएंटलाइन आयटमद्वारे दर्शवलेला विशिष्ट उत्पादन व्हेरिएंट परत करते.
.quantityइंटिजरया लाइन आयटमचे प्रमाण परत करते.
.selling_plan_idइंटिजरलाइन आयटमसाठी विक्री योजनेचा ID परत करते. जेव्हा स्टोअर सबस्क्रिप्शन विकते आणि एखाद्या उत्पादन व्हेरिएंटची सबस्क्रिप्शन म्हणून विक्री केली जाते, ते स्क्रिप्टने ओळखावे असे तुम्हाला वाटते, तेव्हा ही पद्धत उपयुक्त ठरते.

List

List ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.newListसूची दर्शवण्यासाठी नवीन ऑब्जेक्ट तयार करते.
.[]एलिमेंट किंवा nil

निर्दिष्ट केलेल्या इंडेक्समधील एलिमेंट परत करते.

.&List

दोन सूचींमध्ये सामायिक असलेले आणि कोणतेही डुप्लिकेट नसलेले एलिमेंट असलेली नवीन सूची परत करते.

.delete_ifListपर्यायी कोड ब्लॉक वापरून एलिमेंट हटवा. Ruby च्या delete_if पद्धतीसाठी दस्तऐवजीकरण पाहा.
.empty?बुलियन

जर सूचीमध्ये कोणतेही एलिमेंट नसतील, तर true परत करते.

.firstएलिमेंट किंवा nil

पहिले एलिमेंट परत करते किंवा सूची रिकामी असल्यास nil परत करते.

.index(*args, &block)int किंवा nil

सूचीच्या पहिल्या एलिमेंटचा इंडेक्स परत करते. आर्ग्युमेंटऐवजी ब्लॉक दिल्यास, ज्या पहिल्या एलिमेंटसाठी ब्लॉक true आहे त्याचा इंडेक्स परत करते.

.rindex(*args, &block)int किंवा nil

सूचीच्या शेवटच्या एलिमेंटचा इंडेक्स परत करते. आर्ग्युमेंटऐवजी ब्लॉक दिल्यास, ज्या पहिल्या एलिमेंटसाठी ब्लॉक true आहे त्याचा इंडेक्स परत करते.

.lastएलिमेंट किंवा nil

शेवटचे एलिमेंट परत करते किंवा सूची रिकामी असल्यास nil परत करते.

.lengthint

सूचीमधील एलिमेंटची संख्या परत करते.

.sizeint

length साठी पर्यायी नाव (Alias).

.each(*args, &block)List

सूचीमधील प्रत्येक एलिमेंटसाठी एकदा ब्लॉक कॉल करते, एलिमेंटला ब्लॉकसाठी पॅरामीटर म्हणून पास करते.

ShippingAddress

ShippingAddress ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.nameस्ट्रिंगशिपिंग पत्त्याशी संबंधित असलेल्या व्यक्तीचे नाव परत करते.
.address1स्ट्रिंगशिपिंग पत्त्याचा रस्त्याच्या पत्त्याचा भाग परत करते.
.address2स्ट्रिंगशिपिंग पत्त्यातील रस्त्याच्या पत्त्याच्या भागाचे पर्यायी अतिरिक्त फील्ड परत करते.
.phoneस्ट्रिंगशिपिंग पत्त्याचा फोन नंबर परत करते.
.cityस्ट्रिंगशिपिंग पत्त्याचे शहर परत करते.
.zipस्ट्रिंगशिपिंग पत्त्याचा ZIP कोड परत करते.
.provinceस्ट्रिंगशिपिंग पत्त्याचे प्रांत/राज्य परत करते.
.province_codeस्ट्रिंगशिपिंग पत्त्याच्या प्रांत/राज्याचे संक्षिप्त मूल्य परत करते.
.country_codeस्ट्रिंगशिपिंग पत्त्याच्या देशाचे संक्षिप्त मूल्य परत करते.

Money

Money ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.derived_from_presentment(customer_cents:X)Moneyग्राहकाच्या स्थानिक (प्रेझेंटमेंट) चलनातील रकमेचे (सेंट्समध्ये) तुमच्या स्टोअरच्या चलनात रूपांतरित करते. ही पद्धत customer_cents पॅरामीटर स्वीकारते, जे सेंट्समधील संख्या स्वीकारते. उदाहरणार्थ, Money.derived_from_presentment(customer_cents: 500).
.newMoneyकिंमत दर्शवण्यासाठी नवीन ऑब्जेक्ट तयार करते.
.zeroMoney

शून्य किंमतीसह नवीन ऑब्जेक्ट तयार करते.

+Moneyदोन Money ऑब्जेक्ट्सची बेरीज करते.
-Moneyएका Money ऑब्जेक्टमधून दुसरा वजा करते.
*MoneyMoney ऑब्जेक्टला संख्येने गुणते.

Money ची उदाहरणे

Money.new(cents: 1000)

1000 सेंट्स, किंवा $10 दर्शवणारा Money ऑब्जेक्ट तयार करते.

Money.new(cents: 100) * 50

$1 दर्शवणारा Money ऑब्जेक्ट तयार करते, नंतर त्या रकमेला 50 ने गुणते. $50 दर्शवणारा Money ऑब्जेक्ट परत करते.

Variant

Variant ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.idइंटिजरव्हेरिएंटचा ID नंबर परत करते.
.priceMoneyव्हेरिएंटची युनिट किंमत परत करते.
.productProductव्हेरिएंटशी संबंधित उत्पादन परत करते.
.skusList<String>व्हेरिएंटचे स्टॉक कीपिंग युनिट्स (SKUs) परत करते, जे सहसा इन्व्हेंटरी ट्रॅक करण्यासाठी वापरले जातात.
.titleस्ट्रिंगव्हेरिएंटचे शीर्षक परत करते.

Product

Product ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.idइंटिजरउत्पादनाचा ID नंबर परत करते.
.gift_card?बुलियनउत्पादन हे गिफ्ट कार्ड आहे की नाही ते परत करते.
.tagsList<Tag>या उत्पादनासाठी सेट केलेले टॅग दर्शवणाऱ्या स्ट्रिंग्सची सूची परत करते.
.product_typeस्ट्रिंगएक वर्गीकरण ज्यासह उत्पादनाला टॅग केले जाऊ शकते, जे सहसा फिल्टर आणि शोधण्यासाठी वापरले जाते.
.vendorस्ट्रिंगया उत्पादनाचा विक्रेता परत करते.

Kernel

Kernel हे एक Ruby मॉड्यूल आहे जे प्रत्येक क्लासमध्ये समाविष्ट केले जाते. परिणामी, त्याच्या पद्धती प्रत्येक ऑब्जेक्टसाठी उपलब्ध असतात. या पद्धती इतर भाषांमधील ग्लोबल फंक्शन्सप्रमाणेच कार्य करतात.

Kernel ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.exitकाहीही नाहीसध्याच्या स्क्रिप्टचे एक्झिक्युशन त्रुटीशिवाय संपवते. जर हे Output.cart ला काहीही असाइन करण्यापूर्वी रन केले गेले, तर स्क्रिप्टचा कोणताही प्रभाव होत नाही. स्क्रिप्टमधून बाहेर पडण्याचा हा एक उपयुक्त मार्ग आहे, उदाहरणार्थ, जर ग्राहक स्क्रिप्ट रन करण्यासाठी अपात्र असेल.

Kernel चे उदाहरण

customer = Input.cart.customer
if customer && customer.email.end_with?("@mycompany.com")
  # Employees are not eligible for this promotion.
  exit
end

लाइन आयटम पद्धती

पुढील पद्धती फक्त लाइन आयटम स्क्रिप्ट्स मध्ये वापरण्यायोग्य आहेत:

कार्ट

लाइन आयटम स्क्रिप्ट्समधील Cart ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.subtotal_price_wasMoneyकोणतीही सवलत लागू होण्यापूर्वी कार्टची उप-एकूण किंमत परत करते.
.subtotal_price_changed?बुलियनउप-एकूण किंमत बदलली आहे की नाही ते परत करते.

LineItem

लाइन आयटम स्क्रिप्ट्समधील LineItem ऑब्जेक्ट वापरणाऱ्या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.change_line_price(Money new_price, { message: String }) Moneyलाइन आयटमची किंमत निर्दिष्ट केलेल्या रकमेत बदला. message आवश्यक आहे. new_price सध्याच्या किंमतीपेक्षा कमी असणे आवश्यक आहे.
.original_line_priceMoneyस्क्रिप्ट्स आणि सवलती लागू होण्यापूर्वी लाइन आयटमची मूळ किंमत परत करते.
.line_price_wasMoneyसध्याच्या स्क्रिप्टद्वारे बदल लागू होण्यापूर्वी लाइन आयटमची किंमत परत करते.
.line_price_changed?बुलियनलाइन आयटमची किंमत बदलली आहे की नाही ते परत करते.
.change_properties(hash new_properties, { message: String }) हॅशलाइन आयटमसाठी नवीन प्रॉपर्टीज सेट करते. मूळ प्रॉपर्टीज हॅश properties_was मध्ये स्टोअर केले जाते आणि पद्धतीला पास केलेला प्रॉपर्टीज हॅश लाइन आयटमसाठी नवीन प्रॉपर्टीज बनतो.
.properties_wasहॅशकोणतेही बदल लागू होण्यापूर्वी लाइन आयटमचा मूळ प्रॉपर्टीज हॅश परत करते.
.properties_changed?बुलियनलाइन आयटमसाठी प्रॉपर्टीज बदलल्या आहेत की नाही ते परत करते.
.split({ take: Integer })LineItemएका लाइन आयटमला दोन लाइन आयटम्समध्ये विभाजित करते. नवीन लाइन आयटम तयार करण्यासाठी मूळ लाइन आयटममधून किती प्रमाण काढायचे ते take निर्दिष्ट करते.

.split चे उदाहरण

हे उदाहरण स्क्रिप्ट original_line_item नावाच्या लाइन आयटमला दोन लाइन आयटममध्ये विभाजित करते. नवीन लाइन आयटमचे प्रमाण 1 असते (take: 1 द्वारे निर्दिष्ट केलेले). त्यानंतर स्क्रिप्ट नवीन लाइन आयटमला "Third hat for 5 dollars" या मेसेजसह सवलतीची किंमत लागू करते.

if original_line_item.quantity >= 3
  new_line_item = original_line_item.split(take: 1)
  new_line_item.change_line_price(Money.new(cents: 500), message: "Third hat for 5 dollars")
  cart.line_items << new_line_item
end

Variant

लाइन आयटम स्क्रिप्ट्समधील Variant ऑब्जेक्ट वापरणार्‍या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.compare_at_priceMoneyव्हेरिएंटची तुलनात्मक किंमत मिळवून देते. व्हेरिएंटला तुलनात्मक किंमत नसल्यास nil मिळवून देते.

शिपिंग पद्धती

खालील पद्धती शिपिंग स्क्रिप्ट्स मध्ये वापरल्या जाऊ शकतात:

इनपुट

शिपिंग स्क्रिप्ट्समधील Input ऑब्जेक्ट वापरणार्‍या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.shipping_ratesShippingRateListसर्व शिपिंग दरांची सूची मिळवून देते.

ShippingRateList

शिपिंग स्क्रिप्ट्समधील ShippingRateList ऑब्जेक्ट वापरणार्‍या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.delete_ifShippingRateListपर्यायी कोड ब्लॉक वापरून शिपिंग दर हटवा. Ruby च्या delete_if पद्धतीचे दस्तऐवजीकरण पाहा.
.sort!ShippingRateListतुलना ऑपरेटर वापरून किंवा पर्यायी कोड ब्लॉक वापरून शिपिंग दर क्रमवारीबद्ध करा. Ruby च्या sort! पद्धतीचे दस्तऐवजीकरण पाहा.
.sort_by!ShippingRateListपर्यायी कोड ब्लॉक वापरून शिपिंग दर क्रमवारीबद्ध करा. Ruby च्या sort_by! पद्धतीचे दस्तऐवजीकरण पाहा.

ShippingRate

शिपिंग स्क्रिप्ट्समधील ShippingRate ऑब्जेक्ट वापरणार्‍या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.codeस्ट्रिंगशिपिंग दराचा कोड मिळवून देते.
.markupMoneyशिपिंग दरासाठी मार्कअप (लागू असल्यास) मिळवून देते.
.nameस्ट्रिंगशिपिंग दराचे नाव मिळवून देते. change_name पद्धत वापरून त्यामध्ये बदल करता येऊ शकतो.
.priceMoneyशिपिंग दराची किंमत मिळवून देते.
.sourceस्ट्रिंगशिपिंग दराशी संबंधित स्रोत (वाहक) संबंधित असल्यास मिळवून देते. यामध्ये बदल करता येत नाही.
.change_name(String new_name)स्ट्रिंग शिपिंग दराचे नाव बदलतो (जास्तीत जास्त 255 वर्ण). स्रोत बदलणे, हटवणे किंवा लपवणे शक्य नाही.
.apply_discount(Money discount, { message: String })Moneyनमूद केलेल्या निश्चित रकमेची सवलत लागू करते. किंमत 0 च्या खाली कमी केली जाऊ शकत नाही. मेसेज आवश्यक आहे.
.phone_required?बुलियनशिपिंग दर मिळवण्यासाठी फोन नंबर आवश्यक असल्यास true मिळवून देते किंवा फोन नंबर आवश्यक नसल्यास false मिळवून देते.

पेमेंट पद्धती

खालील पद्धती पेमेंट स्क्रिप्ट्स मध्ये वापरल्या जाऊ शकतात:

इनपुट

पेमेंट स्क्रिप्ट्समधील Input ऑब्जेक्ट वापरणार्‍या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.payment_gatewaysPaymentGatewaysListस्टोअरमधील सर्व पेमेंट गेटवेची सूची मिळवून देते.

PaymentGatewayList

पेमेंट स्क्रिप्ट्समधील PaymentGatewayList ऑब्जेक्ट वापरणार्‍या स्क्रिप्ट पद्धती
पद्धतरिटर्न प्रकारवर्णन
.delete_ifPaymentGatewayListपर्यायी कोड ব্লক वापरून पेमेंट गेटवे हटवा. Ruby च्या delete_if पद्धतीचे दस्तऐवजीकरण पाहा.
.sort!PaymentGatewayListतुलना ऑपरेटर वापरून किंवा पर्यायी कोड ब्लॉक वापरून पेमेंट गेटवे क्रमवारीबद्ध करा. Ruby च्या sort! पद्धतीचे दस्तऐवजीकरण पाहा.
.sort_by!PaymentGatewayListपर्यायी कोड ब्लॉक वापरून पेमेंट गेटवे क्रमवारीबद्ध करा. Ruby च्या sort_by! पद्धतीचे दस्तऐवजीकरण पाहा.

PaymentGateway

पद्धतरिटर्न प्रकारवर्णन
.nameस्ट्रिंगपेमेंट गेटवेचे नाव मिळवून देते.
.enabled_card_brandsList<String>

पेमेंट गेटवे क्रेडिट कार्डला सपोर्ट करत असल्यास, स्टोअर स्वीकारत असलेल्या क्रेडिट कार्ड प्रकारांची सूची मिळवून देते. जर गेटवे क्रेडिट कार्डला सपोर्ट करत नसेल, तर रिक्त सूची मिळवून देते.

.change_name(String new_name)स्ट्रिंगपेमेंट गेटवेचे नाव बदलतो. लोगो असलेल्या पेमेंट गेटवेचे नाव बदलता येत नाही.

उदाहरणे

खालील लाइन आयटम स्क्रिप्ट उदाहरणामध्ये, जेव्हा ग्राहक गिफ्ट कार्ड नसलेले उत्पादन ऑर्डर करतो, तेव्हा उत्पादनाची किंमत $9 ने कमी केली जाते. याव्यतिरिक्त, तुमच्या स्टोअरमधील सर्व भेटींदरम्यान ग्राहकाने खर्च केलेली एकूण रक्कम दाखवली जाते:

customer = Input.cart.customer
Input.cart.line_items.each do |line_item|
  product = line_item.variant.product
  next if product.gift_card?
  line_item.change_line_price(line_item.line_price - Money.new(cents: 900), message: customer.total_spent)
end

Output.cart = Input.cart