แหล่งอ้างอิงAPIของShopify脚本
สคริปต์เขียนด้วยการใช้งาน API ของ Ruby ซึ่งช่วยให้คุณมีความยืดหยุ่นและความสามารถในการจัดการอย่างมาก
มีประเภทสคริปต์ที่แตกต่างกันหลายประเภท สคริปต์จะได้รับมอบหมายประเภทเมื่อคุณสร้างสคริปต์ในแอป Script Editor โดยอิงจากเทมเพลตของสคริปต์ที่คุณเลือกเริ่มต้นด้วย:
สคริปต์สินค้าเฉพาะรายการ
สคริปต์สินค้าเฉพาะรายการจะมีผลต่อสินค้าเฉพาะรายการในตะกร้าสินค้าและสามารถเปลี่ยนราคาและให้ส่วนลดได้ สคริปต์เหล่านี้จะทำงานเมื่อมีการเปลี่ยนแปลงต่อตะกร้าสินค้า
สคริปต์สินค้าเฉพาะรายการที่ลดราคาการสมัครใช้งานจะมีผลเฉพาะการชำระเงินครั้งแรกสำหรับค่าสมัครใช้งานเท่านั้น สคริปต์ดังกล่าวจะไม่ลดราคาในการชำระเงินครั้งต่อๆ ไป
สคริปต์การจัดส่ง
สคริปต์การจัดส่งจะส่งผลต่อการจัดส่งและสามารถเปลี่ยนวิธีการจัดส่งและลดอัตราค่าจัดส่งได้ สคริปต์เหล่านี้จะทำงานเมื่อดำเนินไปถึงหน้าตัวเลือกการจัดส่งในขั้นตอนการใช้เงิน
สคริปต์การจัดส่งที่ลดอัตราค่าจัดส่งสำหรับการสมัครใช้งานจะมีผลกับการชำระเงินครั้งแรกของการสมัครใช้งานเท่านั้น สคริปต์จะไม่ลดราคาการชำระเงินในครั้งถัดๆ ไป
สคริปต์การชำระเงิน
สคริปต์การชำระเงินโต้ตอบกับการชำระเงินและสามารถเปลี่ยนชื่อ ซ่อนและจัดเรียงช่องทางการชำระเงินใหม่ได้ โปรดทราบว่าสคริปต์การชำระเงินไม่มีการโต้ตอบกับช่องทางการชำระเงินที่แสดงก่อนหน้าจอการชำระเงินเช่น Apple Pay สคริปต์เหล่านี้จะทำงานเมื่อการชำระเงินถึงหน้าการชำระเงินเท่านั้น
ในหน้านี้
วิธีการทั่วไป
วิธีการต่อไปนี้จะสามารถใช้งานได้ในสคริปต์ทุกประเภท:
อินพุต
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .cart | ตะกร้าสินค้า | ส่งคืนอ็อบเจกต์ตะกร้าสินค้าที่สามารถปิดได้ |
| .locale | string | แสดงตำแหน่งที่ตั้งของลูกค้า ตัวอย่างเช่นenfrหรือpt-BR |
ตะกร้าสินค้า
อ็อบเจกต์ตะกร้าสินค้าใช้งานได้เฉพาะในร้านค้าออนไลน์เท่านั้น การชำระเงินที่ยังไม่เสร็จสิ้นบางรายการจะมีสิทธิ์เข้าถึงอ็อบเจกต์ตะกร้าสินค้า อย่างไรก็ตามหากการชำระเงินถูกปิดไปแล้วลูกค้าจะกลับเข้ามายังขั้นตอนการชำระเงินที่ยังไม่เสร็จสิ้น ระบบจะส่งคำสั่งซื้อดังกล่าวไปยังขั้นตอนการชำระเงินที่กรอกไว้ล่วงหน้าและอ็อบเจกต์ตะกร้าสินค้าจะไม่ปรากฎอีกต่อไป เนื่องจากมีการข้ามขั้นตอนหน้าร้านโดยอีเมลแจ้งขั้นตอนการชำระเงินที่ยังไม่เสร็จสิ้น
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .customer | ลูกค้า | ส่งคืนเจ้าของตะกร้าสินค้า (หากมี) |
| .shipping_address | ShippingAddress | แสดงที่อยู่สำหรับการจัดส่งของเจ้าของตะกร้าสินค้า(หากมี) |
| .discount_code | แตกต่างกันออกไป | Returns:
|
| .line_items | สร้างรายการ |
แสดงรายการที่มีสินค้าเฉพาะรายการในตะกร้าสินค้า |
| .presentment_currency | แสดงรายการ |
การคืนสินค้าตามสกุลเงินท้องถิ่น (Presentment) ของลูกค้า (ในรูปแบบISO 4217) เช่น USD (ดอลลาร์สหรัฐ) |
| .subtotal_price | เงิน | แสดงราคารวมของตะกร้าสินค้าหลังจากมีการใช้ส่วนลดสินค้าเฉพาะรายการแต่ก่อนที่จะมีการใช้รหัสส่วนลด |
| .total_weight | กรัม | แสดงน้ำหนักรวมของสินค้าเฉพาะรายการทั้งหมดในตะกร้าสินค้า |
CartDiscount::FixedAmount
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .code | สตริง | แสดงรหัสส่วนลดที่ใช้เพื่อให้ส่วนลด |
| .amount | เงิน | แสดงจำนวนเงินของส่วนลด |
| .reject({ message: String }) | nil | ปฏิเสธรหัสส่วนลดที่ใช้กับตะกร้าสินค้า จำเป็นต้องมีข้อความ |
| .rejected? | บูลีน | แสดงผลว่ารหัสส่วนลดถูกปฏิเสธหรือไม่ |
CartDiscount::Percentage
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .code | สตริง | แสดงรหัสส่วนลดที่ใช้เพื่อให้ส่วนลด |
| .percentage | ทศนิยม | แสดงจำนวนเปอร์เซ็นต์ของส่วนลด |
| .reject({ message: String }) | nil | ปฏิเสธรหัสส่วนลดที่ใช้กับตะกร้าสินค้า จำเป็นต้องมีข้อความ |
| .rejected? | บูลีน | แสดงผลว่ารหัสส่วนลดถูกปฏิเสธหรือไม่ |
CartDiscount::Shipping
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .code | สตริง | แสดงรหัสส่วนลดที่ใช้เพื่อให้ส่วนลด |
| .reject({ message: String }) | nil | ปฏิเสธรหัสส่วนลดที่ใช้กับตะกร้าสินค้า จำเป็นต้องมีข้อความ |
| .rejected? | บูลีน | แสดงผลว่ารหัสส่วนลดถูกปฏิเสธหรือไม่ |
ลูกค้า
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .id | จำนวนเต็ม | แสดงหมายเลข ID ของลูกค้า |
| สตริง | แสดงที่อยู่อีเมลของลูกค้า | |
| .tags | สร้างรายการ |
แสดงรายการสตริงที่แสดงถึงแท็กที่กำหนดให้สำหรับลูกค้า |
| .orders_count | จำนวนเต็ม | แสดงจำนวนคำสั่งซื้อทั้งหมดที่ลูกค้าได้วางไว้ |
| .total_spent | เงิน | แสดงยอดเงินทั้งหมดที่ลูกค้าใช้จ่ายสำหรับคำสั่งซื้อทั้งหมด |
| .accepts_marketing? | บูลีน | แสดงผลว่าลูกค้ายอมรับการทำการตลาดหรือไม่ |
LineItem
grams| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .grams | แสดงน้ำหนักรวมของสินค้าเฉพาะรายการ | |
| .line_price | เงิน | ราคาของสินค้าเฉพาะรายการ |
| .discounted? | บูลีน | แสดงผลว่าราคาของสินค้าเฉพาะรายการนั้นได้รับส่วนลดจากสคริปต์หรือจากการใช้ส่วนลดด้วยตนเอง ทั้งนี้ การใช้รหัสส่วนลดจะไม่มีผลต่อค่าผลลัพธ์ |
| .properties | แฮช | แสดงคุณสมบัติที่ระบุสำหรับสินค้าเฉพาะรายการนี้ |
| .variant | ตัวเลือกสินค้า | แสดงตัวเลือกสินค้าเฉพาะรายการที่เป็นประเภทเดียวกับสินค้าเฉพาะรายการ |
| .quantity | จำนวนเต็ม | แสดงจำนวนของสินค้าเฉพาะรายการนี้ |
| .selling_plan_id | จำนวนเต็ม | แสดง ID ของแผนการขายสำหรับสินค้าเฉพาะรายการ โดยวิธีนี้จะเป็นประโยชน์เมื่อร้านค้าขายสินค้าในรูปแบบของการสมัครใช้งานและคุณต้องการให้สคริปต์ตรวจพบเมื่อตัวเลือกสินค้าถูกขายในรูปแบบของการสมัครใช้งาน |
รายการ
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .new | รายการ | สร้างอ็อบเจกต์ใหม่เพื่อเป็นตัวแทนรายการ |
| .[] | องค์ประกอบหรือไม่มี | แสดงองค์ประกอบที่ดัชนีที่ระบุไว้ |
| .& | รายการ | แสดงรายการใหม่ที่มีองค์ประกอบเหมือนกันจากทั้งสองรายการโดยไม่มีการซ้ำ |
| .delete_if | รายการ | ลบองค์ประกอบด้วยทางเลือกการใช้บล็อกโค้ด ดูเอกสารประกอบสำหรับวิธีการใช้delete_ifของ Ruby |
| .empty? | บูลีน | แสดงผลเป็น |
| .first | องค์ประกอบหรือไม่มี | แสดงองค์ประกอบแรกหรือ |
| .index(*args, &block) | int หรือไม่มี | แสดงดัชนีขององค์ประกอบแรกของรายการ หากมีการเลือกใช้บล๊อกแทนที่จะเป็นอาร์กิวเมนต์ ระบบจะแสดงผลดัชนีขององค์ประกอบชิ้นแรกที่บล๊อกนั้นเป็นไปตามที่กำหนด |
| .rindex(*args, &block) | int หรือไม่มี | แสดงดัชนีขององค์ประกอบท้ายสุดของรายการ หากมีการเลือกใช้บล๊อกแทนที่จะเป็นอาร์กิวเมนต์ ระบบจะแสดงผลดัชนีขององค์ประกอบชิ้นแรกที่บล๊อกนั้นเป็นไปตามที่กำหนด |
| .last | องค์ประกอบหรือไม่มี | แสดงองค์ประกอบสุดท้ายหรือ |
| .length | int | แสดงจำนวนองค์ประกอบในรายการ |
| .size | int | นามแฝงสำหรับความยาว |
| .each(*args, &block) | รายการ | เรียกการบล็อกหนึ่งครั้งสำหรับแต่ละองค์ประกอบในรายการ และส่งผ่านองค์ประกอบเป็นพารามิเตอร์ไปยังบล็อก |
ShippingAddress
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .name | สตริง | แสดงชื่อของบุคคลที่เกี่ยวข้องกับที่อยู่สำหรับการจัดส่ง |
| .address1 | สตริง | แสดงส่วนที่อยู่ของถนนของที่อยู่สำหรับการจัดส่ง |
| .address2 | สตริง | แสดงช่องข้อมูลเพิ่มเติมเกี่ยวกับส่วนของถนนที่อยู่ในที่อยู่การจัดส่ง |
| .phone | สตริง | แสดงหมายเลขโทรศัพท์ของที่อยู่สำหรับการจัดส่ง |
| .city | สตริง | แสดงเมืองของที่อยู่สำหรับการจัดส่ง |
| . zip | สตริง | แสดงรหัส ZIP ของที่อยู่สำหรับการจัดส่ง |
| .province | สตริง | แสดงจังหวัด/รัฐของที่อยู่สำหรับการจัดส่ง |
| .province_code | สตริง | แสดงค่าตัวย่อของจังหวัด/รัฐของที่อยู่สำหรับการจัดส่ง |
| .country_code | สตริง | แสดงค่าตัวย่อของประเทศที่อยู่สำหรับการจัดส่ง |
เงิน
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .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
ตัวเลือกสินค้า
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .id | จำนวนเต็ม | แสดงผลหมายเลข ID ของตัวเลือกสินค้า |
| .price | เงิน | แสดงผลราคาต่อหน่วยของตัวเลือกสินค้า |
| .product | สินค้า | แสดงผลสินค้าที่เกี่ยวข้องของตัวเลือกสินค้า |
| .skus | แสดงรายการ |
แสดงผลหน่วยจัดเก็บสต็อก (SKU) ของตัวเลือกสินค้าซึ่งมักใช้สำหรับการติดตามสินค้าคงคลัง |
| .title | สตริง | แสดงผลชื่อของตัวเลือกสินค้า |
สินค้า
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .id | จำนวนเต็ม | แสดงผลหมายเลข ID ของสินค้า |
| .gift_card? | บูลีน | แสดงผลว่าสินค้าเป็นบัตรของขวัญหรือไม่ |
| .tags | สร้างรายการ |
แสดงผลรายการของสตริงที่เป็นตัวแทนแท็กที่กำหนดไว้สำหรับสินค้ารายการนี้ |
| .product_type | สตริง | การจัดหมวดหมู่สินค้าที่สามารถใช้การแท็กได้โดยทั่วไปจะใช้สำหรับการกรองและการค้นหา |
| .vendor | สตริง | แสดงผลเวนเดอร์สินค้านี้ |
Kernel
Kernelเป็นโมดูล Ruby ที่รวมอยู่ในทุกชั้น ด้วยเหตุนี้วิธีการใช้งานของ Kernel นั้นสามารถใช้งานกับทุกอ็อบเจกต์ วิธีการเหล่านี้ดำเนินการด้วยวิธีเดียวกับฟังก์ชันครอบคลุมทั้งหมดที่ทำหน้าที่ในภาษาอื่นๆ
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .exit | ไม่มี | สิ้นสุดการดำเนินการของสคริปต์ปัจจุบันโดยไม่มีข้อผิดพลาด หากมีการเรียกใช้งานก่อนที่จะมีการมอบหมายอะไรก็ตามไปยังOutput.cartสคริปต์จะไม่มีผลใดๆ นี่คือวิธีการออกจากสคริปต์ที่มีประโยชน์อย่างมาก ตัวอย่างเช่นหากลูกค้าไม่มีสิทธิ์ใช้งานสคริปต์ |
ตัวอย่าง Kernel
customer=Input.cart.customerifcustomer&&customer.email.end_with?("@mycompany.com")# Employees are not eligible for this promotion.exitend
วิธีการสำหรับสินค้าเฉพาะรายการ
วิธีการต่อไปนี้จะสามารถใช้ได้เฉพาะในสคริปต์สินค้าเฉพาะรายการ:
ตะกร้าสินค้า
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .subtotal_price_was | เงิน | แสดงผลราคารวมของตะกร้าสินค้าก่อนที่จะมีการใช้ส่วนลดใดๆ |
| .subtotal_price_changed? | บูลีน | แสดงผลว่ามีการเปลี่ยนแปลงราคารวมหรือไม่ |
LineItem
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .change_line_price(Moneynew_price, { message:String}) | เงิน | เปลี่ยนราคาของสินค้าเฉพาะรายการเป็นจำนวนที่ระบุ จำเป็นต้องมีข้อความnew_priceต้องต่ำกว่าราคาปัจจุบัน |
| .original_line_price | เงิน | แสดงผลราคาเดิมของสินค้าเฉพาะรายการก่อนที่จะมีการใช้สคริปต์และส่วนลด |
| .line_price_was | เงิน | แสดงผลราคาของสินค้าเฉพาะรายการก่อนที่การเปลี่ยนแปลงจะถูกนำไปใช้โดยสคริปต์ปัจจุบัน |
| .line_price_changed? | บูลีน | แสดงผลว่าราคาของสินค้าเฉพาะรายการมีการเปลี่ยนแปลงหรือไม่ |
| .change_properties(hashnew_properties, { message:String}) | แฮช | ตั้งค่าคุณสมบัติใหม่สำหรับสินค้าเฉพาะรายการ แฮชของคุณสมบัติเดิมจะถูกเก็บไว้ในproperties_wasและแฮชของคุณสมบัติที่ถูกนำมาใช้กับวิธีนั้นจะกลายเป็นคุณสมบัติใหม่สำหรับสินค้าเฉพาะรายการ |
| .properties_was | แฮช | แสดงผลแฮชของคุณสมบัติเดิมของสินค้าเฉพาะรายการก่อนที่จะมีการเปลี่ยนแปลงใดๆ |
| .properties_changed? | บูลีน | ส่งกลับค่าว่ามีการเปลี่ยนแปลงคุณสมบัติสำหรับสินค้าเฉพาะรายการหรือไม่ |
| .split({ take:Integer}) | LineItem | แยกสินค้าเฉพาะรายการออกเป็นสองรายการ โดยtakeจะระบุจำนวนที่จะลบออกจากสินค้าเฉพาะรายการดั้งเดิมเพื่อสร้างสินค้าเฉพาะรายการใหม่ |
ตัวอย่าง .split
สคริปต์ตัวอย่างนี้จะแยกเฉพาะสินค้าที่มีชื่อว่าoriginal_line_itemออกเป็นสินค้าเฉพาะรายการสองรายการ สินค้าเฉพาะรายการใหม่มีจำนวน 1 รายการ (ที่ระบุโดยtake: 1) สคริปต์จะใช้ราคาหลังหักส่วนลดกับสินค้าเฉพาะรายการใหม่ด้วยข้อความ “หมวกใบที่สามในราคา $5”
iforiginal_line_item.quantity>=3new_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_itemend
ตัวเลือกสินค้า
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .compare_at_price | เงิน | ส่งกลับราคาเปรียบเทียบของตัวเลือกสินค้า ส่งกลับnilหากตัวเลือกสินค้าไม่มีราคาเปรียบเทียบ |
วิธีการจัดส่ง
วิธีการต่อไปนี้สามารถใช้งานได้ในสคริปต์การจัดส่ง:
อินพุต
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .shipping_rates | ShippingRateList | แสดงผลรายการอัตราค่าจัดส่งทั้งหมด |
ShippingRateList
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .delete_if | ShippingRateList | ลบอัตราค่าจัดส่งโดยใช้บล็อกโค้ดที่เป็นตัวเลือก ดูเอกสารประกอบสำหรับวิธีการใช้delete_ifของ Ruby |
| .sort! | ShippingRateList | จัดเรียงอัตราค่าจัดส่งโดยใช้ตัวดำเนินการเปรียบเทียบหรือใช้บล็อกโค้ดที่เป็นตัวเลือก ดูเอกสารประกอบสำหรับวิธีการใช้sort!ของ Ruby |
| .sort_by! | ShippingRateList | จัดเรียงอัตราค่าจัดส่งโดยใช้บล็อกโค้ดที่เป็นตัวเลือก ดูเอกสารประกอบสำหรับวิธีการใช้sort_by!ของ Ruby |
ShippingRate
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .code | สตริง | แสดงผลโค้ดของอัตราค่าจัดส่ง |
| .markup | เงิน | เรียกคืนมาร์กอัปสำหรับอัตราค่าจัดส่ง หากมี |
| .name | สตริง | แสดงผลชื่อของอัตราค่าจัดส่ง โดยสามารถแก้ไขได้โดยใช้วิธีchange_name |
| .price | เงิน | แสดงผลราคาของอัตราค่าจัดส่ง |
| .source | สตริง | แสดงผลแหล่งที่มา (ผู้ให้บริการขนส่ง) ที่เชื่อมโยงกับอัตราค่าจัดส่ง หากมีความเกี่ยวข้อง ไม่สามารถแก้ไขได้ |
| .change_name(Stringnew_name) | สตริง | เปลี่ยนชื่อ(สูงสุด255ตัวอักษ)รของอัตราค่าจัดส่ง ไม่สามารถเปลี่ยน ลบ หรือซ่อนแหล่งที่มาได้ |
| .apply_discount(Moneydiscount, { message: String }) | เงิน | ใช้งานส่วนลดตามจำนวนเงินคงที่ที่ระบุ ไม่สามารถลดราคาได้ต่ำกว่า 0 จำเป็นต้องระบุข้อความ |
| .phone_required? | บูลีน | จะแสดงผลเป็นtrueหากจำเป็นต้องใช้หมายเลขโทรศัพท์เพื่อรับอัตราค่าจัดส่งหรือfalseหากไม่จำเป็นต้องใช้หมายเลขโทรศัพท์ |
วิธีการชำระเงิน
วิธีการต่อไปนี้จะสามารถใช้งานได้ในสคริปต์การชำระเงิน:
อินพุต
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .payment_gateways | PaymentGatewaysList | แสดงผลรายการเกตเวย์การชำระเงินทั้งหมดในร้านค้า |
PaymentGatewayList
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .delete_if | PaymentGatewayList | ลบช่องทางการชำระเงินโดยใช้บล็อกโค้ดแบบตัวเลือก ดูเอกสารประกอบสำหรับวิธีการใช้delete_ifของ Ruby |
| .sort! | PaymentGatewayList | จัดเรียงช่องทางการชำระเงินโดยใช้ตัวดำเนินการเปรียบเทียบหรือใช้บล็อกโค้ดแบบตัวเลือก ดูเอกสารประกอบสำหรับวิธีการใช้sort!ของ Ruby |
| .sort_by! | PaymentGatewayList | จัดเรียงช่องทางการชำระเงินโดยใช้บล็อกรหัสที่เป็นตัวเลือก ดูเอกสารประกอบสำหรับดูเอกสารประกอบสำหรับ วิธีการใช้sort_by!ของ Ruby |
PaymentGateway
| วิธี | ประเภทการส่งคืน | คำอธิบาย |
|---|---|---|
| .name | สตริง | แสดงผลชื่อของช่องทางการชำระเงิน |
| .enabled_card_brands | แสดงรายการ |
หากช่องทางการชำระเงินรองรับบัตรเครดิตให้แสดงผลรายชื่อประเภทของบัตรเครดิตที่ร้านค้ายอมรับ หากเกตเวย์ไม่รองรับบัตรเครดิตจะแสดงผลรายการที่ไม่มีอะไรทั้งสิ้น |
| .change_name(Stringnew_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
ดูข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับ: