Ví dụ về tp lnh thanh toán
tp lnh thanh toán tng tác vi cổng thanh toán và có thể thayđổi tiêu đề, khnongs hiển thvà vtrí hiển thcủa cổng。nhng tp lnh này sẽ chy mỗi khi khách hàng truy cp vào trang phng thc thanh toán khi thanh toán。tp lnh thanh toán không tng tác vi清toán nhanhVì thanh toán nhanh hiển thvi khách hàng trc khi họ n trang thanh toán。
Để sử dng mẫu trên trang này, to tp lnh vi mẫu trng。
Các bc thực hin:
- Trong trang qun trshopify, vàoỨng dụng>脚本编辑器.
- Nhấp农村村民创建脚本(to tp lnh)。
- Nhấp农村村民Cổng thanh toán.
- Chọn空白模板(Mẫu tr), rdif nhp vào创建脚本(to tp lnh)。
- 阮富仲mụcRuby源代码(Mã nguubnn Ruby), xóa dòng mã mặc nh:
输出。车=输入.车
- Sao chép tp lnh từ trang này và dán vào mcRuby源代码(Mã nguailn Ruby)。
- Chỉnh sửa m: c可定制的设置(Caiđặ深处t图伊chỉnh) củtập lệnhđểhoạtđộng tạ我cử挂起。
- Kiểm tra p lnh。Để bit thêm thông tin, tham khoThử nghim và gỡ lỗi Đoạn mã Shopify.
- 秀姬kiểm tra:
- nhấp农村村民保存草稿(lu blnháp) để lu blnháp cha ng của tp lnh hoặc
- nhấp农村村民保存并发布(lu và) để to và n mã。
Hiển themail cổng thanh toán cho khách hàng cụ thể
Sử dng tp lnh này để chỉ hiển thmut tùy chn cổng cụ thể cho nhng khách hàng c gắn thẻ cụ thể。
Ví dụ: Chỉ hiển thmutt cổng cụ thể vi nhng khách hàng có thẻ贵宾
- cổng này sẽ n vi tt ccác khách hàng khác。
# ================================ 可定制的设置 ================================# ================================================================#显示客户标签的网关#如果我们有一个匹配的客户,输入的网关将是#显示,所有其他将被隐藏。否则,输入的# gateway将被隐藏。## - 'customer_tag_match_type'决定我们是否寻找客户#是否使用输入的标签进行标记。可以是:# - ':include'检查客户是否被标记# - ':exclude'以确保客户没有被标记# - 'customer_tags'是一个客户标签列表,用于触发#活动# - 'gateway_match_type'决定下面的字符串是否#应该是完全匹配或部分匹配。可以是:# - ':exact'用于精确匹配# - ':partial'表示部分匹配# - 'gateway_names'是一个用于标识网关的字符串列表# ================================================================SHOW_GATEWAYS_FOR_CUSTOMER_TAG=[{customer_tag_match_type:包括,customer_tags:[“customer_tag”,“another_tag”],gateway_match_type:精确,gateway_names:[“网关”,“其他网关”],},]# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# CustomerTagSelector##查找所提供的客户是否有任何输入的标记。# ================================================================类CustomerTagSelectordef初始化(match_type,标签)@comparator=match_type= =:包括?“什么?”:“没有吗?”@ tags=标签.地图{|标签|标签.downcase.带}结束def比赛吗?(客户)customer_tags=客户.标签.地图{|标签|标签.downcase.带}(@ tags&customer_tags).发送(@comparator)结束结束# ================================================================# GatewayNameSelector#查找所提供的网关名是否与#输入的名称。# ================================================================类GatewayNameSelectordef初始化(match_type,gateway_names)@comparator=match_type= =:确切?“= =”:“有吗?”@gateway_names=gateway_names.地图{|名字|名字.downcase.带}结束def比赛吗?(payment_gateway)@gateway_names.任何?{|名字|payment_gateway.名字.downcase.带.发送(@comparator,名字)}结束结束# ================================================================# ShowGatewaysForCustomerTagCampaign#如果客户有任何输入的标记,则输入的网关根据输入的设置显示/隐藏# ================================================================类ShowGatewaysForCustomerTagCampaigndef初始化(活动)@campaigns=活动结束def运行(车,payment_gateways)@campaigns.每一个做|运动|customer_tag_selector=CustomerTagSelector.新(运动[: customer_tag_match_type],运动[: customer_tags],)customer_match=车.客户.nil ??假:customer_tag_selector.比赛吗?(车.客户)gateway_name_selector=GatewayNameSelector.新(运动[: gateway_match_type],运动[: gateway_names],)payment_gateways.delete_if做|payment_gateway|gateway_name_selector.比赛吗?(payment_gateway)! =customer_match结束结束结束结束活动=[ShowGatewaysForCustomerTagCampaign.新(SHOW_GATEWAYS_FOR_CUSTOMER_TAG),]活动.每一个做|运动|运动.运行(输入.车,输入.payment_gateways)结束输出.payment_gateways=输入.payment_gateways
Ẩn cổng thanh toán cho khách hàng cụ thể
Sử dng tp lnh này để t cổng cụ thể vi nhng khách hàng c gắn thẻ cụ thể。
Ví dụ: Ẩn mutt cổng cụ thể vi nhng khách hàng có thẻHIDE_GATEWAY
.
# ================================ 可定制的设置 ================================# ================================================================#隐藏客户标签的网关#如果我们有一个匹配的客户,输入的网关将是#隐藏。## - 'customer_tag_match_type'决定我们是否寻找客户#是否使用输入的标签进行标记。可以是:# - ':include'检查客户是否被标记# - ':exclude'以确保客户没有被标记# - 'customer_tags'是一个客户标签列表,用于触发#活动# - 'gateway_match_type'决定下面的字符串是否#应该是完全匹配或部分匹配。可以是:# - ':exact'用于精确匹配# - ':partial'表示部分匹配# - 'gateway_names'是一个用于标识网关的字符串列表# ================================================================HIDE_GATEWAYS_FOR_CUSTOMER_TAG=[{customer_tag_match_type:包括,customer_tags:[“customer_tag”,“another_tag”],gateway_match_type:精确,gateway_names:[“网关”,“其他网关”],},]# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# CustomerTagSelector##查找所提供的客户是否有任何输入的标记。# ================================================================类CustomerTagSelectordef初始化(match_type,标签)@comparator=match_type= =:包括?“什么?”:“没有吗?”@ tags=标签.地图{|标签|标签.downcase.带}结束def比赛吗?(客户)customer_tags=客户.标签.地图{|标签|标签.downcase.带}(@ tags&customer_tags).发送(@comparator)结束结束# ================================================================# GatewayNameSelector#查找所提供的网关名是否与#输入的名称。# ================================================================类GatewayNameSelectordef初始化(match_type,gateway_names)@comparator=match_type= =:确切?“= =”:“有吗?”@gateway_names=gateway_names.地图{|名字|名字.downcase.带}结束def比赛吗?(payment_gateway)@gateway_names.任何?{|名字|payment_gateway.名字.downcase.带.发送(@comparator,名字)}结束结束# ================================================================# HideGatewaysForCustomerTagCampaign#如果我们有一个匹配的客户,输入的网关将是#隐藏。# ================================================================类HideGatewaysForCustomerTagCampaigndef初始化(活动)@campaigns=活动结束def运行(车,payment_gateways)返回如果车.客户.nil ?@campaigns.每一个做|运动|customer_tag_selector=CustomerTagSelector.新(运动[: customer_tag_match_type],运动[: customer_tags],)下一个除非customer_tag_selector.比赛吗?(车.客户)gateway_name_selector=GatewayNameSelector.新(运动[: gateway_match_type],运动[: gateway_names],)payment_gateways.delete_if做|payment_gateway|gateway_name_selector.比赛吗?(payment_gateway)结束结束结束结束活动=[HideGatewaysForCustomerTagCampaign.新(HIDE_GATEWAYS_FOR_CUSTOMER_TAG),]活动.每一个做|运动|运动.运行(输入.车,输入.payment_gateways)结束输出.payment_gateways=输入.payment_gateways
Ẩn cổng i vi sn phm cụ thể
Sửdụng tập lệnh不đểẩn một cổng nhấtđịnh川崎cac mặt挂cụthểđược农村村民giỏ挂。
Ví dụ: Ẩn mutt cổng cụ thể naut u khách hàng đặt mũ。
# ================================ 可定制的设置 ================================# ================================================================#隐藏产品的网关##如果购物车中包含任何匹配的物品,则输入的网关#是隐藏的。## - 'product_selector_match_type'决定我们是否寻找#与输入选择器匹配或不匹配的产品。可以号是:# - ':include'检查产品是否匹配# - ':exclude'以确保产品不匹配# - 'product_selector_type'决定产品的合格程度#将被识别。可以是:# - ':tag'按标签查找产品# - ':type'按类型查找产品# - ':vendor'按供应商查找产品# - ':product_id'按ID查找产品# - ':variant_id'通过变量ID查找产品# - ':subscription'查找订阅产品# - 'product_selectors'是一个字符串或数字的列表#通过上述选择器类型识别产品# - 'gateway_match_type'决定下面的字符串是否#应该是完全匹配或部分匹配。可以是:# - ':exact'用于精确匹配# - ':partial'表示部分匹配# - 'gateway_names'是一个用于标识网关的字符串列表# ================================================================HIDE_GATEWAY_FOR_PRODUCT=[{product_selector_match_type:包括,product_selector_type: product_id,product_selectors:[1234567890987,1234567890986],gateway_match_type:精确,gateway_names:[“网关”,“其他网关”],},]# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# ProductSelector##根据输入的标准查找匹配的产品。# ================================================================类ProductSelectordef初始化(match_type,selector_type,选择器)@match_type=match_type@comparator=match_type= =:包括?“什么?”:“没有吗?”@selector_type=selector_type@ selector=选择器结束def比赛吗?(line_item)如果自我.respond_to吗?(@selector_type)自我.发送(@selector_type,line_item)其他的提高RuntimeError.新(“无效的产品选择器类型”)结束结束def标签(line_item)product_tags=line_item.变体.产品.标签.地图{|标签|标签.downcase.带}@ selector=@ selector.地图{|选择器|选择器.downcase.带}(@ selector&product_tags).发送(@comparator)结束def类型(line_item)@ selector=@ selector.地图{|选择器|选择器.downcase.带}(@match_type= =:包括)= =@ selector.包括什么?(line_item.变体.产品.product_type.downcase.带)结束def供应商(line_item)@ selector=@ selector.地图{|选择器|选择器.downcase.带}(@match_type= =:包括)= =@ selector.包括什么?(line_item.变体.产品.供应商.downcase.带)结束defproduct_id(line_item)(@match_type= =:包括)= =@ selector.包括什么?(line_item.变体.产品.id)结束defvariant_id(line_item)(@match_type= =:包括)= =@ selector.包括什么?(line_item.变体.id)结束def订阅(line_item)!line_item.selling_plan_id.nil ?结束结束# ================================================================# GatewayNameSelector#查找所提供的网关名是否与#输入的名称。# ================================================================类GatewayNameSelectordef初始化(match_type,gateway_names)@comparator=match_type= =:确切?“= =”:“有吗?”@gateway_names=gateway_names.地图{|名字|名字.downcase.带}结束def比赛吗?(payment_gateway)@gateway_names.任何?{|名字|payment_gateway.名字.downcase.带.发送(@comparator,名字)}结束结束# ================================================================# HideGatewayForProductCampaign##如果购物车中包含任何匹配的物品,则输入的网关#是隐藏的。# ================================================================类HideGatewayForProductCampaigndef初始化(活动)@campaigns=活动结束def运行(车,payment_gateways)@campaigns.每一个做|运动|product_selector=ProductSelector.新(运动[: product_selector_match_type],运动[: product_selector_type],运动[: product_selectors],)下一个除非车.line_items.任何?{|line_item|product_selector.比赛吗?(line_item)}gateway_name_selector=GatewayNameSelector.新(运动[: gateway_match_type],运动[: gateway_names],)payment_gateways.delete_if做|payment_gateway|gateway_name_selector.比赛吗?(payment_gateway)结束结束结束结束活动=[HideGatewayForProductCampaign.新(HIDE_GATEWAY_FOR_PRODUCT),]活动.每一个做|运动|运动.运行(输入.车,输入.payment_gateways)结束输出.payment_gateways=输入.payment_gateways
Hiển thcổng cho mut số quc gia cụ thể
Sử dng tp lnh này để chỉ hiển thmut cổng cụ thể khi khách hàng đặt hàng từ mut quc gia cụ thể。
Ví dụ: Chỉ hiển thmutt cổng cụ thể khi khách hàng đặt hàng từ加拿大- cổng sẽ v i nhng a chỉ các quc gia khác。
# ================================ 可定制的设置 ================================# ================================================================#显示国家的网关#如果收货地址国家与输入的任何国家相匹配#国家,输入的网关(s)将显示,以及所有其他#将被隐藏。否则,输入的网关将被隐藏。## - 'country_code_match_type'决定是否查找购物车是否匹配输入的选择器。可以是:# - ':include'在列表中查找一个国家# - ':exclude'以确保该国家不在列表中# - 'country_codes'是一个2个字符的缩写列表#适用国家# - 'gateway_match_type'决定下面的字符串是否#应该是完全匹配或部分匹配。可以是:# - ':exact'用于精确匹配# - ':partial'表示部分匹配# - 'gateway_names'是一个用于标识网关的字符串列表# ================================================================SHOW_GATEWAYS_FOR_COUNTRY=[{country_code_match_type:包括,country_code:[“CA”],gateway_match_type:精确,gateway_names:[“网关”,“其他网关”],},]# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# CountrySelector##查找所提供的国家代码是否与输入的国家代码匹配#字符串。# ================================================================类CountrySelectordef初始化(match_type,国家)@match_type=match_type@countries=国家.地图{|国家|国家.upcase.带}结束def比赛吗?(country_code)(@match_type= =:包括)= =@countries.包括什么?(country_code.upcase.带)结束结束# ================================================================# GatewayNameSelector#查找所提供的网关名是否与#输入的名称。# ================================================================类GatewayNameSelectordef初始化(match_type,gateway_names)@comparator=match_type= =:确切?“= =”:“有吗?”@gateway_names=gateway_names.地图{|名字|名字.downcase.带}结束def比赛吗?(payment_gateway)@gateway_names.任何?{|名字|payment_gateway.名字.downcase.带.发送(@comparator,名字)}结束结束# ================================================================# ShowGatewaysForCountryCampaign#如果收货地址国家与输入的任何国家相匹配#国家,输入的网关(s)将显示,以及所有其他#将被隐藏。否则,输入的网关将被隐藏。# ================================================================类ShowGatewaysForCountryCampaigndef初始化(活动)@campaigns=活动结束def运行(车,payment_gateways)地址=车.shipping_address@campaigns.每一个做|运动|country_selector=CountrySelector.新(运动[: country_code_match_type],运动[: country_code],)country_match=地址.nil ??假:country_selector.比赛吗?(地址.country_code)gateway_name_selector=GatewayNameSelector.新(运动[: gateway_match_type],运动[: gateway_names],)payment_gateways.delete_if做|payment_gateway|gateway_name_selector.比赛吗?(payment_gateway)! =country_match结束结束结束结束活动=[ShowGatewaysForCountryCampaign.新(SHOW_GATEWAYS_FOR_COUNTRY),]活动.每一个做|运动|运动.运行(输入.车,输入.payment_gateways)结束输出.payment_gateways=输入.payment_gateways
Ẩn cổng i vi các quc gia cụ thể
Sử dng tp lnh này để n cổng thanh toán ti mut số quc gia cụ thể。
Ví dụ: Ẩn mutt cổng cụ thể vi khách hàng ti加拿大。
# ================================ 可定制的设置 ================================# ================================================================#隐藏国家的入口#如果收货地址国家与输入的任何国家相匹配# countries,输入的网关将被隐藏。## - 'country_code_match_type'决定是否查找购物车是否匹配输入的选择器。可以是:# - ':include'在列表中查找一个国家# - ':exclude'以确保该国家不在列表中# - 'country_codes'是一个2个字符的缩写列表#适用国家# - 'gateway_match_type'决定下面的字符串是否#应该是完全匹配或部分匹配。可以是:# - ':exact'用于精确匹配# - ':partial'表示部分匹配# - 'gateway_names'是一个用于标识网关的字符串列表# ================================================================HIDE_GATEWAYS_FOR_COUNTRY=[{country_code_match_type:包括,country_code:[“CA”],gateway_match_type:精确,gateway_names:[“网关”,“其他网关”],},]# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# CountrySelector##查找所提供的国家代码是否与输入的国家代码匹配#字符串。# ================================================================类CountrySelectordef初始化(match_type,国家)@match_type=match_type@countries=国家.地图{|国家|国家.upcase.带}结束def比赛吗?(country_code)(@match_type= =:包括)= =@countries.包括什么?(country_code.upcase.带)结束结束# ================================================================# GatewayNameSelector#查找所提供的网关名是否与#输入的名称。# ================================================================类GatewayNameSelectordef初始化(match_type,gateway_names)@comparator=match_type= =:确切?“= =”:“有吗?”@gateway_names=gateway_names.地图{|名字|名字.downcase.带}结束def比赛吗?(payment_gateway)@gateway_names.任何?{|名字|payment_gateway.名字.downcase.带.发送(@comparator,名字)}结束结束# ================================================================# HideGatewaysForCountryCampaign#如果收货地址国家与输入的任何国家相匹配# countries,输入的网关将被隐藏。# ================================================================类HideGatewaysForCountryCampaigndef初始化(活动)@campaigns=活动结束def运行(车,payment_gateways)地址=车.shipping_address返回如果地址.nil ?@campaigns.每一个做|运动|country_selector=CountrySelector.新(运动[: country_code_match_type],运动[: country_code],)下一个除非country_selector.比赛吗?(地址.country_code)gateway_name_selector=GatewayNameSelector.新(运动[: gateway_match_type],运动[: gateway_names],)payment_gateways.delete_if做|payment_gateway|gateway_name_selector.比赛吗?(payment_gateway)结束结束结束结束活动=[HideGatewaysForCountryCampaign.新(HIDE_GATEWAYS_FOR_COUNTRY),]活动.每一个做|运动|运动.运行(输入.车,输入.payment_gateways)结束输出.payment_gateways=输入.payment_gateways
Hiển thcổng theo m生化c chi tiêu
Sử dng tp lnh này để hiển thcổng cụ thể nu khách hàng chi tiêu vt t số tin nht nh。
Ví dụ: Hiển thmutt cổng cụ thể nu khách hàng chi tiêu từ 1000 USD trlên, nu không hãy n cổng。
# ================================ 可定制的设置 ================================# ================================================================#显示开销阈值的网关##如果购物车总数大于或等于输入的# threshold,则显示输入的网关。## -“threshold”是客户必须消费的金额#命令查看输入的网关# - 'gateway_match_type'决定下面的字符串是否#应该是完全匹配或部分匹配。可以是:# - ':exact'用于精确匹配# - ':partial'表示部分匹配# - 'gateway_names'是一个用于标识网关的字符串列表# ================================================================SHOW_GATEWAYS_FOR_THRESHOLD=[{阈值:500,gateway_match_type:精确,gateway_names:[“网关”,“其他网关”],},]# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# GatewayNameSelector#查找所提供的网关名是否与#输入的名称。# ================================================================类GatewayNameSelectordef初始化(match_type,gateway_names)@comparator=match_type= =:确切?“= =”:“有吗?”@gateway_names=gateway_names.地图{|名字|名字.downcase.带}结束def比赛吗?(payment_gateway)@gateway_names.任何?{|名字|payment_gateway.名字.downcase.带.发送(@comparator,名字)}结束结束# ================================================================# ShowGatewaysForThresholdCampaign##如果购物车总数大于或等于输入的# threshold,则显示输入的网关。# ================================================================类ShowGatewaysForThresholdCampaigndef初始化(活动)@campaigns=活动结束def运行(车,payment_gateways)@campaigns.每一个做|运动|下一个除非车.subtotal_price<(钱.新(分:One hundred.)*运动[:阈值])gateway_name_selector=GatewayNameSelector.新(运动[: gateway_match_type],运动[: gateway_names],)payment_gateways.delete_if做|payment_gateway|gateway_name_selector.比赛吗?(payment_gateway)结束结束结束结束活动=[ShowGatewaysForThresholdCampaign.新(SHOW_GATEWAYS_FOR_THRESHOLD),]活动.每一个做|运动|运动.运行(输入.车,输入.payment_gateways)结束输出.payment_gateways=输入.payment_gateways
Sắp xongt p lvmi thứ tự cổng
Sử dng tp lnh này để thay đổi thứ tự mặc cnh của cổng thanh toán bn cung cp cho khách hàng。
# ================================ 可定制的设置 ================================# ================================================================#重新排序网关##您希望网关显示的顺序# ================================================================DESIRED_GATEWAY_ORDER=[“支付网关1”,“支付网关2”,“支付网关3”,]# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# ReorderGatewaysCampaign##将网关重新排序到输入的顺序# ================================================================类ReorderGatewaysCampaigndef初始化(desired_order)@desired_order=desired_order.地图{|项|项.downcase.带}结束def运行(车,payment_gateways)payment_gateways.sort_by !{|payment_gateway|@desired_order.指数(payment_gateway.名字.downcase.带)||浮动::∞}结束结束活动=[ReorderGatewaysCampaign.新(DESIRED_GATEWAY_ORDER),]活动.每一个做|运动|运动.运行(输入.车,输入.payment_gateways)结束输出.payment_gateways=输入.payment_gateways