แหล่งอ้างอิง API ของ Shopify Scripts

สคริปต์เขียนด้วยการใช้งาน API ของ Ruby ซึ่งช่วยให้คุณมีความยืดหยุ่นและความสามารถในการจัดการอย่างมาก

มีประเภทสคริปต์ที่แตกต่างกันหลายประเภท สคริปต์จะได้รับมอบหมายประเภทเมื่อคุณสร้างสคริปต์ในแอป Script Editor โดยอิงจากเทมเพลตของสคริปต์ที่คุณเลือกเริ่มต้นด้วย:

สคริปต์สินค้าเฉพาะรายการ

สคริปต์สินค้าเฉพาะรายการจะมีผลต่อสินค้าเฉพาะรายการในตะกร้าสินค้าและสามารถเปลี่ยนราคาและให้ส่วนลดได้ สคริปต์เหล่านี้จะทำงานเมื่อมีการเปลี่ยนแปลงต่อตะกร้าสินค้า

สคริปต์สินค้าเฉพาะรายการที่ลดราคาการสมัครใช้งานจะมีผลเฉพาะการชำระเงินครั้งแรกสำหรับค่าสมัครใช้งานเท่านั้น สคริปต์ดังกล่าวจะไม่ลดราคาในการชำระเงินครั้งต่อๆ ไป

บางวิธีสามารถใช้ได้กับสคริปต์สินค้าเฉพาะรายการเท่านั้น

สคริปต์การจัดส่ง

สคริปต์การจัดส่งจะส่งผลต่อการจัดส่ง และสามารถเปลี่ยนวิธีการจัดส่งและลดอัตราค่าจัดส่งได้ สคริปต์เหล่านี้จะทำงานเมื่อดำเนินไปถึงหน้าตัวเลือกการจัดส่งในขั้นตอนการใช้เงิน

สคริปต์การจัดส่งที่ลดอัตราค่าจัดส่งสำหรับการสมัครใช้งานจะมีผลกับการชำระเงินครั้งแรกของการสมัครใช้งานเท่านั้น สคริปต์จะไม่ลดราคาการชำระเงินในครั้งถัดๆ ไป

บางวิธีสามารถใช้ได้ในสคริปต์การจัดส่งเท่านั้น

สคริปต์การชำระเงิน

สคริปต์การชำระเงินโต้ตอบกับการชำระเงินและสามารถเปลี่ยนชื่อ ซ่อนและจัดเรียงช่องทางการชำระเงินใหม่ได้ โปรดทราบว่าสคริปต์การชำระเงินไม่มีการโต้ตอบกับช่องทางการชำระเงินที่แสดงก่อนหน้าจอการชำระเงินเช่น Apple Pay สคริปต์เหล่านี้จะทำงานเมื่อการชำระเงินถึงหน้าการชำระเงินเท่านั้น

สามารถใช้วิธีการบางอย่างในสคริปต์การชำระเงินเท่านั้น

วิธีการทั่วไป

วิธีการต่อไปนี้จะสามารถใช้งานได้ในสคริปต์ทุกประเภท:

อินพุต

วิธีการป้อนข้อมูลสคริปต์
วิธี ประเภทการส่งคืน คำอธิบาย
.cart ตะกร้าสินค้า ส่งคืนอ็อบเจกต์ตะกร้าสินค้าที่สามารถปิดได้
.locale string แสดงตำแหน่งที่ตั้งของลูกค้า ตัวอย่างเช่น en fr หรือ pt-BR

ตะกร้าสินค้า

อ็อบเจกต์ตะกร้าสินค้าใช้งานได้เฉพาะในร้านค้าออนไลน์เท่านั้น การชำระเงินที่ยังไม่เสร็จสิ้นบางรายการจะมีสิทธิ์เข้าถึงอ็อบเจกต์ตะกร้าสินค้า อย่างไรก็ตามหากการชำระเงินถูกปิดไปแล้วลูกค้าจะกลับเข้ามายังขั้นตอนการชำระเงินที่ยังไม่เสร็จสิ้น ระบบจะส่งคำสั่งซื้อดังกล่าวไปยังขั้นตอนการชำระเงินที่กรอกไว้ล่วงหน้าและอ็อบเจกต์ตะกร้าสินค้าจะไม่ปรากฎอีกต่อไป เนื่องจากมีการข้ามขั้นตอนหน้าร้านโดยอีเมลแจ้งขั้นตอนการชำระเงินที่ยังไม่เสร็จสิ้น

วิธีการของสคริปต์ที่ใช้กับอ็อบเจกต์ตะกร้าสินค้า
วิธี ประเภทการส่งคืน คำอธิบาย
.customer ลูกค้า ส่งคืนเจ้าของตะกร้าสินค้า (หากมี)
.shipping_address ShippingAddress แสดงที่อยู่สำหรับการจัดส่งของเจ้าของตะกร้าสินค้า (หากมี)
.discount_code แตกต่างกันออกไป Returns:
  • nil หากตะกร้าสินค้าไม่มีรหัสส่วนลด
  • CartDiscount::FixedAmountหากตะกร้าสินค้ามีส่วนลดเป็นจำนวนเงินตายตัว
  • CartDiscount::Percentageหากตะกร้าสินค้ามีส่วนลดเป็นเปอร์เซ็นต์
  • CartDiscount::Shippingหากตะกร้าสินค้ามีส่วนลดสำหรับค่าจัดส่ง
  • ส่งคืนรหัสส่วนลดเดียว (ดูข้อจํากัด)

discount_code จะปรากฎขึ้นหากมีการใช้ส่วนลดกับตะกร้าสินค้า ซึ่งไม่ได้หมายความว่าราคาตะกร้าสินค้าจะเปลี่ยนไป ตัวอย่างเช่นหากมีการใช้ส่วนลดกับตะกร้าสินค้าที่มีราคาเกิน $50 และสคริปต์จะลดราคาตะกร้าสินค้าจนต่ำกว่า $50 discount_code จะยังคงอยู่แต่ราคาของตะกร้าจะไม่เปลี่ยน

ดูตัวอย่างdiscount_code

.line_items สร้างรายการ<LineItem> แสดงรายการที่มีสินค้าเฉพาะรายการในตะกร้าสินค้า
.presentment_currency แสดงรายการ<String> การคืนสินค้าตามสกุลเงินท้องถิ่น (Presentment) ของลูกค้า (ในรูปแบบ ISO 4217) เช่น USD (ดอลลาร์สหรัฐ)
.subtotal_price เงิน แสดงราคารวมของตะกร้าสินค้าหลังจากมีการใช้ส่วนลดสินค้าเฉพาะรายการแต่ก่อนที่จะมีการใช้รหัสส่วนลด
.total_weight กรัม แสดงน้ำหนักรวมของสินค้าเฉพาะรายการทั้งหมดในตะกร้าสินค้า

CartDiscount::FixedAmount

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ CartDiscount:: FixedAmount
วิธี ประเภทการส่งคืน คำอธิบาย
.code สตริง แสดงรหัสส่วนลดที่ใช้เพื่อให้ส่วนลด
.amount เงิน แสดงจำนวนเงินของส่วนลด
.reject({ message: String }) nil ปฏิเสธรหัสส่วนลดที่ใช้กับตะกร้าสินค้า จำเป็นต้องมีข้อความ
.rejected? บูลีน แสดงผลว่ารหัสส่วนลดถูกปฏิเสธหรือไม่

CartDiscount::Percentage

วิธีสคริปต์ที่ใช้อ็อบเจกต์ CartDiscount::Percentage
วิธี ประเภทการส่งคืน คำอธิบาย
.code สตริง แสดงรหัสส่วนลดที่ใช้เพื่อให้ส่วนลด
.percentage ทศนิยม แสดงจำนวนเปอร์เซ็นต์ของส่วนลด
.reject({ message: String }) nil ปฏิเสธรหัสส่วนลดที่ใช้กับตะกร้าสินค้า จำเป็นต้องมีข้อความ
.rejected? บูลีน แสดงผลว่ารหัสส่วนลดถูกปฏิเสธหรือไม่

CartDiscount::Shipping

วิธีใช้สคริปต์ที่ใช้อ็อบเจกต์ CartDiscount::Shipping
วิธี ประเภทการส่งคืน คำอธิบาย
.code สตริง แสดงรหัสส่วนลดที่ใช้เพื่อให้ส่วนลด
.reject({ message: String }) nil ปฏิเสธรหัสส่วนลดที่ใช้กับตะกร้าสินค้า จำเป็นต้องมีข้อความ
.rejected? บูลีน แสดงผลว่ารหัสส่วนลดถูกปฏิเสธหรือไม่

ลูกค้า

วิธีสคริปต์ที่ใช้ใช้อ็อบเจกต์ Customer
วิธี ประเภทการส่งคืน คำอธิบาย
.id จำนวนเต็ม แสดงหมายเลข ID ของลูกค้า
.email สตริง แสดงที่อยู่อีเมลของลูกค้า
.tags สร้างรายการ<Tag> แสดงรายการสตริงที่แสดงถึงแท็กที่กำหนดให้สำหรับลูกค้า
.orders_count จำนวนเต็ม แสดงจำนวนคำสั่งซื้อทั้งหมดที่ลูกค้าได้วางไว้
.total_spent เงิน แสดงยอดเงินทั้งหมดที่ลูกค้าใช้จ่ายสำหรับคำสั่งซื้อทั้งหมด
.accepts_marketing? บูลีน แสดงผลว่าลูกค้ายอมรับการทำการตลาดหรือไม่

LineItem

<tdgrams
วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ LineItem
วิธี ประเภทการส่งคืน คำอธิบาย
.grams แสดงน้ำหนักรวมของสินค้าเฉพาะรายการ
.line_price เงิน ราคาของสินค้าเฉพาะรายการ
.discounted? บูลีน แสดงผลว่าราคาของสินค้าเฉพาะรายการนั้นได้รับส่วนลดจากสคริปต์หรือจากการใช้ส่วนลดด้วยตนเอง ทั้งนี้ การใช้รหัสส่วนลดจะไม่มีผลต่อค่าผลลัพธ์
.properties แฮช แสดงคุณสมบัติที่ระบุสำหรับสินค้าเฉพาะรายการนี้
.variant ตัวเลือกสินค้า แสดงตัวเลือกสินค้าเฉพาะรายการที่เป็นประเภทเดียวกับสินค้าเฉพาะรายการ
.quantity จำนวนเต็ม แสดงจำนวนของสินค้าเฉพาะรายการนี้
.selling_plan_id จำนวนเต็ม แสดง ID ของแผนการขายสำหรับสินค้าเฉพาะรายการ โดยวิธีนี้จะเป็นประโยชน์เมื่อร้านค้าขายสินค้าในรูปแบบของการสมัครใช้งานและคุณต้องการให้สคริปต์ตรวจพบเมื่อตัวเลือกสินค้าถูกขายในรูปแบบของการสมัครใช้งาน

รายการ

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์รายการ
วิธี ประเภทการส่งคืน คำอธิบาย
.new รายการ สร้างอ็อบเจกต์ใหม่เพื่อเป็นตัวแทนรายการ
.[] องค์ประกอบหรือไม่มี

แสดงองค์ประกอบที่ดัชนีที่ระบุไว้

.& รายการ

แสดงรายการใหม่ที่มีองค์ประกอบเหมือนกันจากทั้งสองรายการโดยไม่มีการซ้ำ

.delete_if รายการ ลบองค์ประกอบด้วยทางเลือกการใช้บล็อกโค้ด ดูเอกสารประกอบสำหรับวิธีการใช้ delete_if ของ Ruby
.empty? บูลีน

แสดงผลเป็น true หากรายการไม่มีองค์ประกอบ

.first องค์ประกอบหรือไม่มี

แสดงองค์ประกอบแรกหรือ nil หากรายการว่างอยู่

.index(*args, &block) int หรือไม่มี

แสดงดัชนีขององค์ประกอบแรกของรายการ หากมีการเลือกใช้บล๊อกแทนที่จะเป็นอาร์กิวเมนต์ ระบบจะแสดงผลดัชนีขององค์ประกอบชิ้นแรกที่บล๊อกนั้นเป็นไปตามที่กำหนด

.rindex(*args, &block) int หรือไม่มี

แสดงดัชนีขององค์ประกอบท้ายสุดของรายการ หากมีการเลือกใช้บล๊อกแทนที่จะเป็นอาร์กิวเมนต์ ระบบจะแสดงผลดัชนีขององค์ประกอบชิ้นแรกที่บล๊อกนั้นเป็นไปตามที่กำหนด

.last องค์ประกอบหรือไม่มี

แสดงองค์ประกอบสุดท้ายหรือ nil หากรายการไม่มีอะไร

.length int

แสดงจำนวนองค์ประกอบในรายการ

.size int

นามแฝงสำหรับความยาว

.each(*args, &block) รายการ

เรียกการบล็อกหนึ่งครั้งสำหรับแต่ละองค์ประกอบในรายการ และส่งผ่านองค์ประกอบเป็นพารามิเตอร์ไปยังบล็อก

ShippingAddress

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ ShippingAddress
วิธี ประเภทการส่งคืน คำอธิบาย
.name สตริง แสดงชื่อของบุคคลที่เกี่ยวข้องกับที่อยู่สำหรับการจัดส่ง
.address1 สตริง แสดงส่วนที่อยู่ของถนนของที่อยู่สำหรับการจัดส่ง
.address2 สตริง แสดงช่องข้อมูลเพิ่มเติมเกี่ยวกับส่วนของถนนที่อยู่ในที่อยู่การจัดส่ง
.phone สตริง แสดงหมายเลขโทรศัพท์ของที่อยู่สำหรับการจัดส่ง
.city สตริง แสดงเมืองของที่อยู่สำหรับการจัดส่ง
. zip สตริง แสดงรหัส ZIP ของที่อยู่สำหรับการจัดส่ง
.province สตริง แสดงจังหวัด/รัฐของที่อยู่สำหรับการจัดส่ง
.province_code สตริง แสดงค่าตัวย่อของจังหวัด/รัฐของที่อยู่สำหรับการจัดส่ง
.country_code สตริง แสดงค่าตัวย่อของประเทศที่อยู่สำหรับการจัดส่ง

เงิน

วิธีการใช้สคริปต์โดยใช้อ็อบเจกต์ Money
วิธี ประเภทการส่งคืน คำอธิบาย
.derived_from_presentment(customer_cents:X) เงิน แปลงจำนวนเงิน (เป็นเซ็นต์) จากสกุลเงินท้องถิ่นของลูกค้า (presentment) ไปยังสกุลเงินของร้านค้าคุณ วิธีนี้ยอมรับ customer_cents พารามิเตอร์ซึ่งยอมรับตัวเลขในรูปแบบเซ็นต์ ตัวอย่างเช่นMoney.derived_from_presentment(customer_cents: 500)
.new เงิน สร้างอ็อบเจกต์ใหม่เพื่อเป็นตัวแทนของราคา
.zero เงิน

สร้างอ็อบเจกต์ใหม่ที่มีราคาเป็นศูนย์

+ เงิน เพิ่มอ็อบเจกต์ Moneyสองชิ้น
- เงิน หักอ็อบเจกต์ Money หนึ่งชิ้นออกจากอีกรายการ
* เงิน คูณอ็อบเจกต์ Money ด้วยตัวเลข

ตัวอย่าง Money

Money.new(cents: 1000)

สร้างอ็อบเจกต์Money ที่แทนที่ 1,000 เซ็นต์หรือ $10

Money.new(cents: 100) * 50

สร้างอ็อบเจกต์Money ที่แทนที่ $1 จากนั้นคูณด้วย 50 และแสดงผลอ็อบเจกต์Money แทนที่ $50

ตัวเลือกสินค้าคือ

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ Variant
วิธี ประเภทการส่งคืน คำอธิบาย
.id จำนวนเต็ม แสดงผลหมายเลข ID ของตัวเลือกสินค้า
.price เงิน แสดงผลราคาต่อหน่วยของตัวเลือกสินค้า
.product สินค้า แสดงผลสินค้าที่เกี่ยวข้องของตัวเลือกสินค้า
.skus แสดงรายการ<String> แสดงผลหน่วยจัดเก็บสต็อก (SKU) ของตัวเลือกสินค้าซึ่งมักใช้สำหรับการติดตามสินค้าคงคลัง
.title สตริง แสดงผลชื่อของตัวเลือกสินค้า

สินค้า

วิธีสคริปต์ที่ใช้อ็อบเจกต์ Product
วิธี ประเภทการส่งคืน คำอธิบาย
.id จำนวนเต็ม แสดงผลหมายเลข ID ของสินค้า
.gift_card? บูลีน แสดงผลว่าสินค้าเป็นบัตรของขวัญหรือไม่
.tags สร้างรายการ<Tag> แสดงผลรายการของสตริงที่เป็นตัวแทนแท็กที่กำหนดไว้สำหรับสินค้ารายการนี้
.product_type สตริง การจัดหมวดหมู่สินค้าที่สามารถใช้การแท็กได้โดยทั่วไปจะใช้สำหรับการกรองและการค้นหา
.vendor สตริง แสดงผลเวนเดอร์สินค้านี้

Kernel

Kernelเป็นโมดูล Ruby ที่รวมอยู่ในทุกชั้น ด้วยเหตุนี้วิธีการใช้งานของ Kernel นั้นสามารถใช้งานกับทุกอ็อบเจกต์ วิธีการเหล่านี้ดำเนินการด้วยวิธีเดียวกับฟังก์ชันครอบคลุมทั้งหมดที่ทำหน้าที่ในภาษาอื่นๆ

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ 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_was เงิน แสดงผลราคารวมของตะกร้าสินค้าก่อนที่จะมีการใช้ส่วนลดใดๆ
.subtotal_price_changed? บูลีน แสดงผลว่ามีการเปลี่ยนแปลงราคารวมหรือไม่

LineItem

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ LineItem ในสคริปต์สินค้าเฉพาะรายการ
วิธี ประเภทการส่งคืน คำอธิบาย
.change_line_price(Money new_price, { message: String }) เงิน เปลี่ยนราคาของสินค้าเฉพาะรายการเป็นจำนวนที่ระบุ จำเป็นต้องมี ข้อความ new_price ต้องต่ำกว่าราคาปัจจุบัน
.original_line_price เงิน แสดงผลราคาเดิมของสินค้าเฉพาะรายการก่อนที่จะมีการใช้สคริปต์และส่วนลด
.line_price_was เงิน แสดงผลราคาของสินค้าเฉพาะรายการก่อนที่การเปลี่ยนแปลงจะถูกนำไปใช้โดยสคริปต์ปัจจุบัน
.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) สคริปต์จะใช้ราคาหลังหักส่วนลดกับสินค้าเฉพาะรายการใหม่ด้วยข้อความ “หมวกใบที่สามในราคา $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_price เงิน ส่งกลับราคาเปรียบเทียบของตัวเลือกสินค้า ส่งกลับ nil หากตัวเลือกสินค้าไม่มีราคาเปรียบเทียบ

วิธีการจัดส่ง

วิธีการต่อไปนี้สามารถใช้งานได้ในสคริปต์การจัดส่ง:

อินพุต

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ Input ในสคริปต์การจัดส่ง
วิธี ประเภทการส่งคืน คำอธิบาย
.shipping_rates ShippingRateList แสดงผลรายการอัตราค่าจัดส่งทั้งหมด

ShippingRateList

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ ShippingRateList ในสคริปต์การจัดส่ง
วิธี ประเภทการส่งคืน คำอธิบาย
.delete_if ShippingRateList ลบอัตราค่าจัดส่งโดยใช้บล็อกโค้ดที่เป็นตัวเลือก ดูเอกสารประกอบสำหรับวิธีการใช้ delete_if ของ Ruby
.sort! ShippingRateList จัดเรียงอัตราค่าจัดส่งโดยใช้ตัวดำเนินการเปรียบเทียบหรือใช้บล็อกโค้ดที่เป็นตัวเลือก ดูเอกสารประกอบสำหรับวิธีการใช้ sort! ของ Ruby
.sort_by! ShippingRateList จัดเรียงอัตราค่าจัดส่งโดยใช้บล็อกโค้ดที่เป็นตัวเลือก ดูเอกสารประกอบสำหรับ วิธีการใช้ sort_by! ของ Ruby

ShippingRate

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ ShippingRate ในสคริปต์การจัดส่ง
วิธี ประเภทการส่งคืน คำอธิบาย
.code สตริง แสดงผลโค้ดของอัตราค่าจัดส่ง
.markup เงิน เรียกคืนมาร์กอัปสำหรับอัตราค่าจัดส่ง หากมี
.name สตริง แสดงผลชื่อของอัตราค่าจัดส่ง โดยสามารถแก้ไขได้โดยใช้วิธี change_name
.price เงิน แสดงผลราคาของอัตราค่าจัดส่ง
.source สตริง แสดงผลแหล่งที่มา (ผู้ให้บริการขนส่ง) ที่เชื่อมโยงกับอัตราค่าจัดส่ง หากมีความเกี่ยวข้อง ไม่สามารถแก้ไขได้
.change_name(String new_name) สตริง เปลี่ยนชื่อ (สูงสุด 255 ตัวอักษร) ของอัตราค่าจัดส่ง ไม่สามารถเปลี่ยน ลบ หรือซ่อนแหล่งที่มาได้
.apply_discount(Money discount, { message: String }) เงิน ใช้งานส่วนลดตามจำนวนเงินคงที่ที่ระบุ ไม่สามารถลดราคาได้ต่ำกว่า 0 จำเป็นต้องระบุข้อความ
.phone_required? บูลีน จะแสดงผลเป็น true หากจำเป็นต้องใช้หมายเลขโทรศัพท์เพื่อรับอัตราค่าจัดส่งหรือ false หากไม่จำเป็นต้องใช้หมายเลขโทรศัพท์

วิธีการชำระเงิน

วิธีการต่อไปนี้จะสามารถใช้งานได้ในสคริปต์การชำระเงิน:

อินพุต

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ Input ในสคริปต์การชำระเงิน
วิธี ประเภทการส่งคืน คำอธิบาย
.payment_gateways PaymentGatewaysList แสดงผลรายการเกตเวย์การชำระเงินทั้งหมดในร้านค้า

PaymentGatewayList

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ PaymentGatewayList ในสคริปต์การชำระเงิน
วิธี ประเภทการส่งคืน คำอธิบาย
.delete_if PaymentGatewayList ลบช่องทางการชำระเงินโดยใช้บล็อกโค้ดแบบตัวเลือก ดูเอกสารประกอบสำหรับ วิธีการใช้ delete_if ของ Ruby
.sort! PaymentGatewayList จัดเรียงช่องทางการชำระเงินโดยใช้ตัวดำเนินการเปรียบเทียบหรือใช้บล็อกโค้ดแบบตัวเลือก ดูเอกสารประกอบสำหรับ วิธีการใช้ sort! ของ Ruby
.sort_by! PaymentGatewayList จัดเรียงช่องทางการชำระเงินโดยใช้บล็อกรหัสที่เป็นตัวเลือก ดูเอกสารประกอบสำหรับ ดูเอกสารประกอบสำหรับ วิธีการใช้ sort_by! ของ Ruby

PaymentGateway

วิธี ประเภทการส่งคืน คำอธิบาย
.name สตริง แสดงผลชื่อของช่องทางการชำระเงิน
.enabled_card_brands แสดงรายการ<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

ดูข้อมูลเพิ่มเติม

ดูข้อมูลเพิ่มเติมเกี่ยวกับ:

พร้อมเริ่มต้นการขายด้วย Shopify แล้วหรือยัง

ทดลองใช้งานฟรี