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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

อินพุต

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

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

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

วิธีการของสคริปต์ที่ใช้กับอ็อบเจกต์ตะกร้าสินค้า
วิธีประเภทการส่งคืนคำอธิบาย
.customerลูกค้าส่งคืนเจ้าของตะกร้าสินค้า (หากมี)
.shipping_addressShippingAddressแสดงที่อยู่สำหรับการจัดส่งของเจ้าของตะกร้าสินค้า (หากมี)
.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 หากรายการไม่มีอะไร

.lengthint

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

.sizeint

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

.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_ratesShippingRateListแสดงผลรายการอัตราค่าจัดส่งทั้งหมด

ShippingRateList

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ ShippingRateList ในสคริปต์การจัดส่ง
วิธีประเภทการส่งคืนคำอธิบาย
.delete_ifShippingRateListลบอัตราค่าจัดส่งโดยใช้บล็อกโค้ดที่เป็นตัวเลือก ดูเอกสารประกอบสำหรับวิธีการใช้ 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_gatewaysPaymentGatewaysListแสดงผลรายการเกตเวย์การชำระเงินทั้งหมดในร้านค้า

PaymentGatewayList

วิธีใช้สคริปต์โดยใช้อ็อบเจกต์ PaymentGatewayList ในสคริปต์การชำระเงิน
วิธีประเภทการส่งคืนคำอธิบาย
.delete_ifPaymentGatewayListลบช่องทางการชำระเงินโดยใช้บล็อกโค้ดแบบตัวเลือก ดูเอกสารประกอบสำหรับ วิธีการใช้ 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

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

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

ไม่พบคำตอบที่คุณต้องการงั้นหรือ เราพร้อมช่วยเหลือคุณ