Shopify Scripts API-ს ცნობარი

სკრიპტები იწერება Ruby API-ის გამოყენებით, რომელიც დიდ კონტროლსა და მოქნილობას გაძლევს.

არსებობს სხვადასხვა ტიპის სკრიპტი. სკრიპტის შექმნისას Script Editor აპში მას ენიჭება ტიპი იმის მიხედვით, თუ რომელი სკრიპტის შაბლონს აირჩევ დასაწყებად:

ხაზის ელემენტის სკრიპტები

ხაზის ელემენტის სკრიპტები ზემოქმედებს კალათაში არსებულ ხაზის ელემენტებზე და შეუძლია ფასების შეცვლა და ფასდაკლებების მინიჭება. ეს სკრიპტები ეშვება კალათაში ცვლილების შეტანისას.

ხაზის ელემენტის სკრიპტები, რომლებიც აკეთებს ფასდაკლებას გამოწერაზე, ვრცელდება მხოლოდ გამოწერის პირველ გადახდაზე. შემდგომ გადახდებზე სკრიპტის ფასდაკლება არ ვრცელდება.

ზოგიერთი მეთოდის გამოყენება შესაძლებელია მხოლოდ ხაზის ელემენტის სკრიპტებში.

მიწოდების სკრიპტები

მიწოდების სკრიპტები ურთიერთქმედებს მიწოდებასთან და შეუძლია შეცვალოს მიწოდების მეთოდები და მიანიჭოს ფასდაკლებები მიწოდების ტარიფებზე. ეს სკრიპტები ეშვება, როდესაც შეკვეთის გაფორმება მიწოდების ვარიანტების გვერდს აღწევს.

მიწოდების სკრიპტები, რომლებიც აკეთებს ფასდაკლებას გამოწერის მიწოდების ტარიფზე, ვრცელდება მხოლოდ გამოწერის პირველ გადახდაზე. შემდგომ გადახდებზე სკრიპტის ფასდაკლება არ ვრცელდება.

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

გადახდის სკრიპტები

გადახდის სკრიპტები ურთიერთქმედებს გადახდებთან და შეუძლია გადახდის კარიბჭეების სახელის შეცვლა, დამალვა და გადალაგება. გაითვალისწინე, რომ გადახდის სკრიპტები არ ურთიერთქმედებს იმ გადახდის კარიბჭეებთან, რომლებიც ნაჩვენებია გადახდის ეკრანამდე, მაგალითად, Apple Pay-სთან. ეს სკრიპტები ეშვება, როდესაც შეკვეთის გაფორმება გადახდის გვერდს აღწევს.

ზოგიერთი მეთოდის გამოყენება შესაძლებელია მხოლოდ გადახდის სკრიპტებში.

ზოგადი მეთოდები

შემდეგი მეთოდების გამოყენება შესაძლებელია ნებისმიერი ტიპის სკრიპტში:

შეყვანა

სკრიპტში შეყვანის მეთოდები
მეთოდიდაბრუნების ტიპიაღწერა
.cartCartაბრუნებს კალათის ცვლად ობიექტს.
.localeსტრიქონიაბრუნებს მომხმარებლის ლოკალს. მაგალითად, en, fr ან pt-BR.

Cart

კალათის ობიექტი ხელმისაწვდომია მხოლოდ ონლაინ მაღაზიაში. ზოგიერთ მიტოვებულ გადახდას აქვს წვდომა კალათის ობიექტზე. თუმცა, თუ შეკვეთის გაფორმება დაიხურა და შემდეგ მომხმარებელი ეწვევა მიტოვებულ გადახდას, ის გადაიყვანს მას წინასწარ შევსებულ შეკვეთის გაფორმების გვერდზე და კალათის ობიექტი აღარ იარსებებს. ეს გამოწვეულია იმით, რომ მიტოვებული გადახდის ელფოსტამ გვერდი აუარა ვიტრინას.

სკრიპტის მეთოდები, რომლებიც იყენებს Cart ობიექტს
მეთოდიდაბრუნების ტიპიაღწერა
.customerCustomerაბრუნებს კალათის მფლობელს (ასეთის არსებობის შემთხვევაში).
.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?Booleanაბრუნებს ინფორმაციას იმის შესახებ, უარყოფილია თუ არა ფასდაკლების კოდი.

CartDiscount::Percentage

სკრიპტის მეთოდები, რომლებიც იყენებენ CartDiscount::Percentage ობიექტს
მეთოდიდაბრუნების ტიპიაღწერა
.codeსტრიქონიაბრუნებს ფასდაკლების კოდს, რომელიც გამოიყენება ფასდაკლების დასაწესებლად.
.percentageDecimalაბრუნებს ფასდაკლების პროცენტულ ოდენობას.
.reject({ message: String })nilუარყოფს კალათაში გამოყენებულ ფასდაკლების კოდს. სავალდებულოა message.
.rejected?Booleanაბრუნებს ინფორმაციას იმის შესახებ, უარყოფილია თუ არა ფასდაკლების კოდი.

CartDiscount::Shipping

სკრიპტის მეთოდები, რომლებიც იყენებენ CartDiscount::Shipping ობიექტს
მეთოდიდაბრუნების ტიპიაღწერა
.codeსტრიქონიაბრუნებს ფასდაკლების კოდს, რომელიც გამოიყენება ფასდაკლების დასაწესებლად.
.reject({ message: String })nilუარყოფს კალათაში გამოყენებულ ფასდაკლების კოდს. სავალდებულოა message.
.rejected?Booleanაბრუნებს ინფორმაციას იმის შესახებ, უარყოფილია თუ არა ფასდაკლების კოდი.

Customer

სკრიპტის მეთოდები, რომლებიც იყენებენ Customer ობიექტს
მეთოდიდაბრუნების ტიპიაღწერა
.idIntegerაბრუნებს მომხმარებლის ID ნომერს.
.emailსტრიქონიაბრუნებს მომხმარებლის ელფოსტის მისამართს.
.tagsList<Tag>აბრუნებს სტრიქონების სიას, რომლებიც წარმოადგენს მომხმარებლისთვის დაყენებულ ნებისმიერ თეგს.
.orders_countIntegerაბრუნებს მომხმარებლის მიერ განთავსებული შეკვეთების საერთო რაოდენობას.
.total_spentMoneyაბრუნებს მომხმარებლის მიერ ყველა შეკვეთაზე დახარჯულ მთლიან თანხას.
.accepts_marketing?Booleanაბრუნებს ინფორმაციას იმის შესახებ, ეთანხმება თუ არა მომხმარებელი მარკეტინგს.

LineItem

სკრიპტის მეთოდები, რომლებიც იყენებენ LineItem ობიექტს
მეთოდიდაბრუნების ტიპიაღწერა
.gramsgramsაბრუნებს ხაზის ელემენტის მთლიან წონას.
.line_priceMoneyხაზის ელემენტის ფასი.
.discounted?Booleanაბრუნებს ინფორმაციას იმის შესახებ, შემცირდა თუ არა ხაზის ელემენტის ფასი სკრიპტით ან ხელით გამოყენებული ფასდაკლებით. ფასდაკლების კოდების გამოყენება არ მოქმედებს დაბრუნებულ მნიშვნელობაზე.
.propertieshashაბრუნებს ამ ხაზის ელემენტებისთვის მითითებულ თვისებებს.
.variantVariantაბრუნებს პროდუქტის კონკრეტულ ვარიანტს, რომელსაც წარმოადგენს ხაზის ელემენტი.
.quantityIntegerაბრუნებს ამ ხაზის ელემენტის რაოდენობას.
.selling_plan_idIntegerაბრუნებს გაყიდვის გეგმის ID-ს ხაზის ელემენტისთვის. ეს მეთოდი სასარგებლოა მაშინ, როდესაც მაღაზია ყიდის გამოწერებს და გსურს, რომ სკრიპტმა აღმოაჩინოს, როდის იყიდება პროდუქტის ვარიანტი გამოწერის სახით.

List

სკრიპტის მეთოდები, რომლებიც იყენებენ List ობიექტს
მეთოდიდაბრუნების ტიპიაღწერა
.newListქმნის ახალ ობიექტს სიის წარმოსადგენად.
.[]ელემენტი ან nil

აბრუნებს ელემენტს მითითებულ ინდექსზე.

.&List

აბრუნებს ახალ სიას, რომელიც შეიცავს ორივე სიისთვის საერთო ელემენტებს დუბლიკატების გარეშე.

.delete_ifListშლის ელემენტებს არასავალდებულო კოდის ბლოკის გამოყენებით. იხილე დოკუმენტაცია Ruby-ს მეთოდისთვის delete_if.
.empty?Boolean

აბრუნებს მნიშვნელობას true, თუ სია არ შეიცავს ელემენტებს.

.firstელემენტი ან nil

აბრუნებს პირველ ელემენტს ან nil-ს, თუ სია ცარიელია.

.index(*args, &block)int ან nil

აბრუნებს სიის პირველი ელემენტის ინდექსს. თუ არგუმენტის ნაცვლად მოცემულია ბლოკი, აბრუნებს იმ პირველი ელემენტის ინდექსს, რომლისთვისაც ბლოკი არის true.

.rindex(*args, &block)int ან nil

აბრუნებს სიის ბოლო ელემენტის ინდექსს. თუ არგუმენტის ნაცვლად მოცემულია ბლოკი, აბრუნებს იმ პირველი ელემენტის ინდექსს, რომლისთვისაც ბლოკი არის true.

.lastელემენტი ან nil

აბრუნებს ბოლო ელემენტს ან nil-ს, თუ სია ცარიელია.

.lengthint

აბრუნებს სიაში არსებული ელემენტების რაოდენობას.

.sizeint

length-ის ალიასი.

.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-ის ერთ ობიექტს მეორეს.
*Moneyამრავლებს Money ობიექტს რიცხვზე.

Money-ის მაგალითები

Money.new(cents: 1000)

ქმნის Money ობიექტს, რომელიც წარმოადგენს 1000 ცენტს, ანუ $10-ს.

Money.new(cents: 100) * 50

ქმნის Money ობიექტს, რომელიც წარმოადგენს $1-ს, შემდეგ ამრავლებს ამ თანხას 50-ზე. აბრუნებს Money ობიექტს, რომელიც წარმოადგენს $50-ს.

ვარიანტი

სკრიპტის მეთოდები Variant ობიექტის გამოყენებით
მეთოდიდაბრუნების ტიპიაღწერა
.idIntegerაბრუნებს ვარიანტის ID ნომერს.
.priceMoneyაბრუნებს ვარიანტის ერთეულის ფასს.
.productProductაბრუნებს ვარიანტთან ასოცირებულ პროდუქტს.
.skusList<String>აბრუნებს ვარიანტის მარაგის აღრიცხვის ერთეულებს (SKU), რომლებიც ხშირად გამოიყენება მარაგის თვალყურის სადევნებლად.
.titleსტრიქონიაბრუნებს ვარიანტის სათაურს.

პროდუქტი

სკრიპტის მეთოდები Product ობიექტის გამოყენებით
მეთოდიდაბრუნების ტიპიაღწერა
.idIntegerაბრუნებს პროდუქტის ID ნომერს.
.gift_card?Booleanაბრუნებს, არის თუ არა პროდუქტი სასაჩუქრე ბარათი.
.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

სკრიპტის მეთოდები Cart ობიექტის გამოყენებით ხაზის ელემენტის სკრიპტებში
მეთოდიდაბრუნების ტიპიაღწერა
.subtotal_price_wasMoneyაბრუნებს კალათის ქვეჯამის ფასს ფასდაკლებების გამოყენებამდე.
.subtotal_price_changed?Booleanაბრუნებს, შეიცვალა თუ არა ქვეჯამის ფასი.

LineItem

სკრიპტის მეთოდები LineItem ობიექტის გამოყენებით ხაზის ელემენტის სკრიპტებში
მეთოდიდაბრუნების ტიპიაღწერა
.change_line_price(Money new_price, { message: String }) Moneyცვლის ხაზის ელემენტის ფასს მითითებული თანხით. message სავალდებულოა. new_price უნდა იყოს მიმდინარე ფასზე ნაკლები.
.original_line_priceMoneyაბრუნებს ხაზის ელემენტის თავდაპირველ ფასს სკრიპტებისა და ფასდაკლებების გამოყენებამდე.
.line_price_wasMoneyაბრუნებს ხაზის ელემენტის ფასს მიმდინარე სკრიპტის მიერ ცვლილებების განხორციელებამდე.
.line_price_changed?Booleanაბრუნებს, შეიცვალა თუ არა ხაზის ელემენტის ფასი.
.change_properties(hash new_properties, { message: String }) hashაყენებს ახალ თვისებებს ხაზის ელემენტისთვის. თვისებების ორიგინალი ჰეში ინახება properties_was-ში და თვისებების ჰეში, რომელიც გადაეცემა მეთოდს, ხდება ხაზის ელემენტის ახალი თვისებები.
.properties_washashაბრუნებს ხაზის ელემენტის თვისებების ორიგინალ ჰეშს ნებისმიერი ცვლილების განხორციელებამდე.
.properties_changed?Booleanაბრუნებს, შეიცვალა თუ არა ხაზის ელემენტის თვისებები.
.split({ take: Integer })LineItemყოფს ერთ ხაზის ელემენტს ორ ხაზის ელემენტად. take მიუთითებს რა რაოდენობა უნდა მოიხსნას თავდაპირველი ხაზის ელემენტიდან ახალი ხაზის ელემენტის შესაქმნელად.

.split-ის მაგალითი

სკრიპტის ეს მაგალითი original_line_item-ის სახელწოდების მქონე ხაზის ელემენტს ორ ხაზის ელემენტად ყოფს. ახალი ხაზის ელემენტის რაოდენობაა 1 (მითითებულია, როგორც take: 1). ამის შემდეგ, სკრიპტი ახალ ხაზის ელემენტს ფასდაკლებას უკეთებს და ართავს შეტყობინებას: „Third hat for 5 dollars“ (მესამე ქუდი 5 დოლარად).

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 ობიექტს ხაზის ელემენტის სკრიპტებში
მეთოდიდაბრუნების ტიპიაღწერა
.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?Booleanაბრუნებს 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