決済スクリプトの例

決済スクリプトは決済ゲートウェイサービスと相互に作用し,サービスのタイトル,表示および表示位置を変更できます。これらのスクリプトは,お客様がチェックアウトにあたり決済ゲートウェイサービスのページにアクセスするたびに実行されます。簡単なチェックアウトはお客様がチェックアウトペ,ジに移る前に表示されるので,決済スクリプトは,簡単なチェックアウトとは相互には作用しません。

このペ,ジのテンプレ,トを使用するには,空白のテンプレ,トで新しいスクリプトを作成します。

手順:

  1. Shopify管理员から[アプリ]>(脚本编辑器)の順に進みます。
  2. [スクリプトを作成する]をクリックします。
  3. [決済サ,ビス]をクリックします。
  4. [空白のテンプレ,ト]を選択し,次に[スクリプトを作成する]をクリックします。
  5. [Rubyソ,スコ,ド]セクションで,デフォルトのコ,ド列を削除します。输出。车=输入.车
  6. このペ,ジからスクリプトをコピ,して,[Rubyソ,スコ,ド]セクションへ貼り付けます。
  7. ストアで機能させるためスクリプトの[カスタマ电子邮箱ズ可能な設定]セクションを編集します。
  8. スクリプトをテストする。詳細にいては,”Shopifyスクリプトのテストおよびデバッグを参照してください。
  9. テスト後:
    • [下書き保存]をクリックして,スクリプトの未公開ドラフトを保存します。または
    • [保存して公開する]をクリックして,スクリプトを作成して公開します。

特定のお客様にゲトウェを表示する

このスクリプトを使用して,特定のタグが付与されているお客様には,特定のゲートウェイオプションのみを表示します。

たとえば,贵宾タグが付与されているお客様には,特定のゲ,トウェ,のみを表示します。その他のお客様には,そのゲ,トウェ,は非表示になります。

# ================================ 可定制的设置  ================================# ================================================================#显示客户标签的网关如果我们有一个匹配的客户,输入的网关将是#显示,所有其他将被隐藏。否则,输入的# gateway将被隐藏。# - 'customer_tag_match_type'决定我们是否寻找客户#是否使用输入的标签进行标记。可以是:# - ':include'检查客户是否被标记# - ':exclude'以确保客户没有被标记# - 'customer_tags'是一个客户标签列表,用于触发#活动# - 'gateway_match_type'决定下面的字符串是否#应该是完全匹配或部分匹配。可以是:# - ':exact'用于精确匹配# - ':partial'表示部分匹配# - 'gateway_names'是一个用于标识网关的字符串列表# ================================================================SHOW_GATEWAYS_FOR_CUSTOMER_TAGcustomer_tag_match_type:包括customer_tags:“customer_tag”“another_tag”],gateway_match_type:精确gateway_names:“网关”“其他网关”],},# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# CustomerTagSelector#查找所提供的客户是否有任何输入的标记。# ================================================================CustomerTagSelectordef初始化match_type标签@comparatormatch_type= =:包括?“什么?”“没有吗?”@ tags标签地图|标签|标签downcase结束def比赛吗?客户customer_tags客户标签地图|标签|标签downcase@ tagscustomer_tags).发送@comparator结束结束# ================================================================# GatewayNameSelector查找所提供的网关名是否与#输入的名称。# ================================================================GatewayNameSelectordef初始化match_typegateway_names@comparatormatch_type= =:确切?“= =”“有吗?”@gateway_namesgateway_names地图|名字|名字downcase结束def比赛吗?payment_gateway@gateway_names任何?|名字|payment_gateway名字downcase发送@comparator名字结束结束# ================================================================# ShowGatewaysForCustomerTagCampaign如果客户有任何输入的标记,则输入的网关根据输入的设置显示/隐藏# ================================================================ShowGatewaysForCustomerTagCampaigndef初始化活动@campaigns活动结束def运行payment_gateways@campaigns每一个|运动|customer_tag_selectorCustomerTagSelector运动: customer_tag_match_type],运动: customer_tags],customer_match客户nil ??customer_tag_selector比赛吗?客户gateway_name_selectorGatewayNameSelector运动: gateway_match_type],运动: gateway_names],payment_gatewaysdelete_if|payment_gateway|gateway_name_selector比赛吗?payment_gateway! =customer_match结束结束结束结束活动ShowGatewaysForCustomerTagCampaignSHOW_GATEWAYS_FOR_CUSTOMER_TAG),活动每一个|运动|运动运行输入输入payment_gateways结束输出payment_gateways输入payment_gateways

特定のお客様にゲトウェを非表示にする

このスクリプトを使用して,特定のタグが付与されているお客様には,特定のゲートウェイを非表示にします。

たとえば,HIDE_GATEWAYタグが付与されているお客様には,特定のゲ,トウェ,を非表示にします。

# ================================ 可定制的设置  ================================# ================================================================#隐藏客户标签的网关如果我们有一个匹配的客户,输入的网关将是#隐藏。# - 'customer_tag_match_type'决定我们是否寻找客户#是否使用输入的标签进行标记。可以是:# - ':include'检查客户是否被标记# - ':exclude'以确保客户没有被标记# - 'customer_tags'是一个客户标签列表,用于触发#活动# - 'gateway_match_type'决定下面的字符串是否#应该是完全匹配或部分匹配。可以是:# - ':exact'用于精确匹配# - ':partial'表示部分匹配# - 'gateway_names'是一个用于标识网关的字符串列表# ================================================================HIDE_GATEWAYS_FOR_CUSTOMER_TAGcustomer_tag_match_type:包括customer_tags:“customer_tag”“another_tag”],gateway_match_type:精确gateway_names:“网关”“其他网关”],},# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# CustomerTagSelector#查找所提供的客户是否有任何输入的标记。# ================================================================CustomerTagSelectordef初始化match_type标签@comparatormatch_type= =:包括?“什么?”“没有吗?”@ tags标签地图|标签|标签downcase结束def比赛吗?客户customer_tags客户标签地图|标签|标签downcase@ tagscustomer_tags).发送@comparator结束结束# ================================================================# GatewayNameSelector查找所提供的网关名是否与#输入的名称。# ================================================================GatewayNameSelectordef初始化match_typegateway_names@comparatormatch_type= =:确切?“= =”“有吗?”@gateway_namesgateway_names地图|名字|名字downcase结束def比赛吗?payment_gateway@gateway_names任何?|名字|payment_gateway名字downcase发送@comparator名字结束结束# ================================================================# HideGatewaysForCustomerTagCampaign如果我们有一个匹配的客户,输入的网关将是#隐藏。# ================================================================HideGatewaysForCustomerTagCampaigndef初始化活动@campaigns活动结束def运行payment_gateways返回如果客户nil ?@campaigns每一个|运动|customer_tag_selectorCustomerTagSelector运动: customer_tag_match_type],运动: customer_tags],下一个除非customer_tag_selector比赛吗?客户gateway_name_selectorGatewayNameSelector运动: gateway_match_type],运动: gateway_names],payment_gatewaysdelete_if|payment_gateway|gateway_name_selector比赛吗?payment_gateway结束结束结束结束活动HideGatewaysForCustomerTagCampaignHIDE_GATEWAYS_FOR_CUSTOMER_TAG),活动每一个|运动|运动运行输入输入payment_gateways结束输出payment_gateways输入payment_gateways

特定の商品のサ,ビスを非表示にする

このスクリプトを使用して,特定のアイテムがカートに追加されたときに特定のゲートウェイを非表示にします。

たとえば,お客様が帽子を注文した場合には,特定のゲ,トウェ,を非表示にします。

# ================================ 可定制的设置  ================================# ================================================================#隐藏产品的网关#如果购物车中包含任何匹配的物品,则输入的网关#是隐藏的。# - '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_PRODUCTproduct_selector_match_type:包括product_selector_type: product_idproduct_selectors:12345678909871234567890986],gateway_match_type:精确gateway_names:“网关”“其他网关”],},# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# ProductSelector#根据输入的标准查找匹配的产品。# ================================================================ProductSelectordef初始化match_typeselector_type选择器@match_typematch_type@comparatormatch_type= =:包括?“什么?”“没有吗?”@selector_typeselector_type@ selector选择器结束def比赛吗?line_item如果自我respond_to吗?@selector_type自我发送@selector_typeline_item其他的提高RuntimeError“无效的产品选择器类型”结束结束def标签line_itemproduct_tagsline_item变体产品标签地图|标签|标签downcase@ selector@ selector地图|选择器|选择器downcase@ selectorproduct_tags).发送@comparator结束def类型line_item@ selector@ selector地图|选择器|选择器downcase@match_type= =:包括= =@ selector包括什么?line_item变体产品product_typedowncase结束def供应商line_item@ selector@ selector地图|选择器|选择器downcase@match_type= =:包括= =@ selector包括什么?line_item变体产品供应商downcase结束defproduct_idline_item@match_type= =:包括= =@ selector包括什么?line_item变体产品id结束defvariant_idline_item@match_type= =:包括= =@ selector包括什么?line_item变体id结束def订阅line_itemline_itemselling_plan_idnil ?结束结束# ================================================================# GatewayNameSelector查找所提供的网关名是否与#输入的名称。# ================================================================GatewayNameSelectordef初始化match_typegateway_names@comparatormatch_type= =:确切?“= =”“有吗?”@gateway_namesgateway_names地图|名字|名字downcase结束def比赛吗?payment_gateway@gateway_names任何?|名字|payment_gateway名字downcase发送@comparator名字结束结束# ================================================================# HideGatewayForProductCampaign#如果购物车中包含任何匹配的物品,则输入的网关#是隐藏的。# ================================================================HideGatewayForProductCampaigndef初始化活动@campaigns活动结束def运行payment_gateways@campaigns每一个|运动|product_selectorProductSelector运动: product_selector_match_type],运动: product_selector_type],运动: product_selectors],下一个除非line_items任何?|line_item|product_selector比赛吗?line_itemgateway_name_selectorGatewayNameSelector运动: gateway_match_type],运动: gateway_names],payment_gatewaysdelete_if|payment_gateway|gateway_name_selector比赛吗?payment_gateway结束结束结束结束活动HideGatewayForProductCampaignHIDE_GATEWAY_FOR_PRODUCT),活动每一个|运动|运动运行输入输入payment_gateways结束输出payment_gateways输入payment_gateways

特定の国のサ,ビスを表示する

このスクリプトを使用して,お客様が特定の国から注文している場合には,特定のゲートウェイのみを表示します。

たとえば,お客様がカナダから注文している場合には,特定のゲ,トウェ,のみを表示します。その他の国の住所では,そのゲ,トウェ,は表示されません。

# ================================ 可定制的设置  ================================# ================================================================#显示国家的网关如果收货地址国家与输入的任何国家相匹配#国家,输入的网关(s)将显示,以及所有其他#将被隐藏。否则,输入的网关将被隐藏。# - 'country_code_match_type'决定是否查找购物车是否匹配输入的选择器。可以是:# - ':include'在列表中查找一个国家# - ':exclude'以确保该国家不在列表中# - 'country_codes'是一个2个字符的缩写列表#适用国家# - 'gateway_match_type'决定下面的字符串是否#应该是完全匹配或部分匹配。可以是:# - ':exact'用于精确匹配# - ':partial'表示部分匹配# - 'gateway_names'是一个用于标识网关的字符串列表# ================================================================SHOW_GATEWAYS_FOR_COUNTRYcountry_code_match_type:包括country_code:“CA”],gateway_match_type:精确gateway_names:“网关”“其他网关”],},# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# CountrySelector#查找所提供的国家代码是否与输入的国家代码匹配#字符串。# ================================================================CountrySelectordef初始化match_type国家@match_typematch_type@countries国家地图|国家|国家upcase结束def比赛吗?country_code@match_type= =:包括= =@countries包括什么?country_codeupcase结束结束# ================================================================# GatewayNameSelector查找所提供的网关名是否与#输入的名称。# ================================================================GatewayNameSelectordef初始化match_typegateway_names@comparatormatch_type= =:确切?“= =”“有吗?”@gateway_namesgateway_names地图|名字|名字downcase结束def比赛吗?payment_gateway@gateway_names任何?|名字|payment_gateway名字downcase发送@comparator名字结束结束# ================================================================# ShowGatewaysForCountryCampaign如果收货地址国家与输入的任何国家相匹配#国家,输入的网关(s)将显示,以及所有其他#将被隐藏。否则,输入的网关将被隐藏。# ================================================================ShowGatewaysForCountryCampaigndef初始化活动@campaigns活动结束def运行payment_gateways地址shipping_address@campaigns每一个|运动|country_selectorCountrySelector运动: country_code_match_type],运动: country_code],country_match地址nil ??country_selector比赛吗?地址country_codegateway_name_selectorGatewayNameSelector运动: gateway_match_type],运动: gateway_names],payment_gatewaysdelete_if|payment_gateway|gateway_name_selector比赛吗?payment_gateway! =country_match结束结束结束结束活动ShowGatewaysForCountryCampaignSHOW_GATEWAYS_FOR_COUNTRY),活动每一个|运动|运动运行输入输入payment_gateways结束输出payment_gateways输入payment_gateways

特定の国に対してサ,ビスを非表示にする

このスクリプトを使用して、特定の国で決済ゲ、トウェ、サ、ビスを非表示にします。

たとえば,カナダのお客様には,特定のゲ,トウェ,を非表示にします。

# ================================ 可定制的设置  ================================# ================================================================#隐藏国家的入口如果收货地址国家与输入的任何国家相匹配# countries,输入的网关将被隐藏。# - 'country_code_match_type'决定是否查找购物车是否匹配输入的选择器。可以是:# - ':include'在列表中查找一个国家# - ':exclude'以确保该国家不在列表中# - 'country_codes'是一个2个字符的缩写列表#适用国家# - 'gateway_match_type'决定下面的字符串是否#应该是完全匹配或部分匹配。可以是:# - ':exact'用于精确匹配# - ':partial'表示部分匹配# - 'gateway_names'是一个用于标识网关的字符串列表# ================================================================HIDE_GATEWAYS_FOR_COUNTRYcountry_code_match_type:包括country_code:“CA”],gateway_match_type:精确gateway_names:“网关”“其他网关”],},# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# CountrySelector#查找所提供的国家代码是否与输入的国家代码匹配#字符串。# ================================================================CountrySelectordef初始化match_type国家@match_typematch_type@countries国家地图|国家|国家upcase结束def比赛吗?country_code@match_type= =:包括= =@countries包括什么?country_codeupcase结束结束# ================================================================# GatewayNameSelector查找所提供的网关名是否与#输入的名称。# ================================================================GatewayNameSelectordef初始化match_typegateway_names@comparatormatch_type= =:确切?“= =”“有吗?”@gateway_namesgateway_names地图|名字|名字downcase结束def比赛吗?payment_gateway@gateway_names任何?|名字|payment_gateway名字downcase发送@comparator名字结束结束# ================================================================# HideGatewaysForCountryCampaign如果收货地址国家与输入的任何国家相匹配# countries,输入的网关将被隐藏。# ================================================================HideGatewaysForCountryCampaigndef初始化活动@campaigns活动结束def运行payment_gateways地址shipping_address返回如果地址nil ?@campaigns每一个|运动|country_selectorCountrySelector运动: country_code_match_type],运动: country_code],下一个除非country_selector比赛吗?地址country_codegateway_name_selectorGatewayNameSelector运动: gateway_match_type],运动: gateway_names],payment_gatewaysdelete_if|payment_gateway|gateway_name_selector比赛吗?payment_gateway结束结束结束结束活动HideGatewaysForCountryCampaignHIDE_GATEWAYS_FOR_COUNTRY),活动每一个|运动|运动运行输入输入payment_gateways结束输出payment_gateways输入payment_gateways

お支払い金額ごとにサ,ビスを表示する

このスクリプトを使用して,お客様のお支払いが一定の金額を超えた場合に特定のサービスを表示してください。

1000年たとえば,お客様がドル以上購入した場合は,特定のゲートウェイを表示し,それ以外の場合は非表示にします。

# ================================ 可定制的设置  ================================# ================================================================#显示开销阈值的网关#如果购物车总数大于或等于输入的# threshold,则显示输入的网关。# -“threshold”是客户必须消费的金额#命令查看输入的网关# - 'gateway_match_type'决定下面的字符串是否#应该是完全匹配或部分匹配。可以是:# - ':exact'用于精确匹配# - ':partial'表示部分匹配# - 'gateway_names'是一个用于标识网关的字符串列表# ================================================================SHOW_GATEWAYS_FOR_THRESHOLD阈值:500gateway_match_type:精确gateway_names:“网关”“其他网关”],},# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# GatewayNameSelector查找所提供的网关名是否与#输入的名称。# ================================================================GatewayNameSelectordef初始化match_typegateway_names@comparatormatch_type= =:确切?“= =”“有吗?”@gateway_namesgateway_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_selectorGatewayNameSelector运动: gateway_match_type],运动: gateway_names],payment_gatewaysdelete_if|payment_gateway|gateway_name_selector比赛吗?payment_gateway结束结束结束结束活动ShowGatewaysForThresholdCampaignSHOW_GATEWAYS_FOR_THRESHOLD),活动每一个|运动|运动运行输入输入payment_gateways结束输出payment_gateways输入payment_gateways

サ,ビスを順序変更する

このスクリプトを使用して,お客様に提供される決済ゲートウェイサービスのデフォルトの順序を変更します。

# ================================ 可定制的设置  ================================# ================================================================#重新排序网关#您希望网关显示的顺序# ================================================================DESIRED_GATEWAY_ORDER“支付网关1”“支付网关2”“支付网关3”# ================================ 脚本代码(不要编辑 ) ================================# ================================================================# ReorderGatewaysCampaign#将网关重新排序到输入的顺序# ================================================================ReorderGatewaysCampaigndef初始化desired_order@desired_orderdesired_order地图||downcase结束def运行payment_gatewayspayment_gatewayssort_by !|payment_gateway|@desired_order指数payment_gateway名字downcase||浮动::结束结束活动ReorderGatewaysCampaignDESIRED_GATEWAY_ORDER),活动每一个|运动|运动运行输入输入payment_gateways结束输出payment_gateways输入payment_gateways

Shopifyで販売を開始する準備はできていますか?

無料体験を試す