卡更新

请注意,已弃用的Chargify Direct赞成 chargify.js..

没有直接替代品 使用chargify.js更新卡片 - 相反,您将创建一个新的付款方式,然后使其成为订阅的主动付款配置文件。

chargify.js是一种PCI兼容的嵌入您网站支付表格的方式,同时仍可充分利用我们的功能 API. .

虽然Chargify Direct仍将运行并受支持,但不会添加新的增强功能或功能。

通过Chargify直接使用新信息更新订阅的付款型材,或创建一个当前存在的订阅的新付款配置文件。

Uri /方法

Card_Update端点仅适用于HTML表单,不会响应JSON API调用。

输入属性

为了处理要处理的请求,您必须设置安全参数。看 直接充电简介 - 安全参数 有关如何对此端点验证请求的详细信息。

注意: subscription_id 必须 be part of your secure[data] parameter for the card update request to be processed.

应税订阅

If your subscriber pays taxes on their purchased product, and you are attempting to update the payment_profile, complete address information is required. For information on required address formatting to allow your subscriber to be taxed, please see our documentation 这里.

卡详细信息

付款档案

范围 描述
first_name 卡或银行账户上的名字
last_name 卡或银行账户上的姓氏
card_number 完整的信用卡号(字符串表示,即“5424000000000015”)
cvv 3或4位卡验证值。(如果付款方式是信用卡,则可选)
expiration_month 1-或2位数的信用卡到期月,作为整数或字符串,即“5”
expiration_year 4位数信用卡到期年份,作为整数或字符串,即“2012”
billing_address 信用卡或银行账户结算街地址(即“123主席银行”)。此值仅通过到支付网关。(可选,您的产品配置或网关设置可能需要)
billing_address_2 客户的结算地址的第二行,即“APT。 100“(可选)
billing_city 信用卡或银行账户结算地址城(即“波士顿”)。此值仅通过付款网关。 (可选,您的产品配置或网关设置可能需要)
billing_state 信用卡或银行账户结算邮局(即“MA”)。此值仅通过付款网关。 (可选,您的产品配置或网关设置可能需要)
billing_zip 信用卡或银行账户结算地址邮政编码(即“12345”)。此值仅通过到支付网关。(可选,您的产品配置或网关设置可能需要)
billing_country 信用卡或银行账户结算地址国家,最好是ISO 3166-1 Alpha-2格式(即“美国”)。此值仅通过付款网关。某些网关以特定格式要求国家代码。请检查网关的文档。此时,在创建银行账户时,只接受美国。 (可选,您的产品配置或网关设置可能需要)
bank_name (使用ACH创建订阅时需要)客户帐户所在的银行的名称
bank_routing_number (在使用ACH创建订阅时必需的)银行的路由号码
bank_account_number (在使用ACH创建订阅时必需)客户的银行帐号
bank_account_type (在使用ACH创建订阅时所需)检查或储蓄
bank_account_holder_type (在使用ACH创建订阅时需要)个人或业务
payment_type Required for PayPal. Set to paypal_account.
payment_method_nonce PayPal需要。
paypal_email PayPal需要,但仅用于显示。

示例形式

<form method="post" action="//api.ikvrej.icu/api/v2/subscriptions/<subscription.id>/card_update">

  <!-- Secure parameters, for example: -->
  <input type="hidden" name="secure[data]" value="redirect_uri=http%3A%2F%2Fexample.com%2Fcallback%2Fsubscription_id=12345"/>

  <!-- For brevity, this form contains no labels, only inputs -->
  <input type="text" name="payment_profile[first_name]" />
  <input type="text" name="payment_profile[last_name]" />

  <!-- begin credit card fields -->
  <input type="text" name="payment_profile[card_number]" />
  <input type="text" name="payment_profile[expiration_month]" />
  <input type="text" name="payment_profile[expiration_year]" />
  <input type="text" name="payment_profile[cvv]" />
  <!-- end credit card fields -->

  <!-- begin bank account fields -->
  <input type="text" name="payment_profile[bank_name]" />
  <input type="text" name="payment_profile[bank_routing_number]" />
  <input type="text" name="payment_profile[bank_account_number]" />
  <input type="text" name="payment_profile[bank_account_type]" />
  <input type="text" name="payment_profile[bank_account_holder_type]" />
  <!-- end bank account fields -->

  <!-- begin paypal account fields -->
  <input type="text" name="payment_profile[payment_method_nonce]" />
  <input type="text" name="payment_profile[paypal_email]" />
  <!-- end paypal account fields -->

  <input type="submit" value="Update" />
</form>

参考实施

构建为作为Chargify Direct的参考实施的小型Sinatra应用程序包括用于卡更新的示例流程,可在此处提供:

//github.com/chargify/chargify_direct_example

When the application is run, navigating to http://localhost:9292/card_update/<SUBSCRIPTION_ID> where <SUBSCRIPTION_ID> is a numeric subscription ID, the user is presented with a form to input the updated card information. If an error occurs after submitting, the form will be redisplayed along with error messaging. Otherwise, a success message is displayed along with the URI for retrieving the call data from the API V2.

输出属性

当Chargify重定向到重定向URI时,它将包含以下查询字符串参数:

参数 描述
api_id 制作原始请求的API ID
timestamp 反射或自动生成的时间戳
nonce 反射或自动生成的omce
status_code 表示请求状态的HTTP状态代码
result_code 特定于特定的结果代码,与状态代码有关,但可能会提供有关请求结果的更具体信息
call_id 用于原始呼叫的存储表示的ID(表单POST)。可以通过API获取呼叫以进行全响应信息(用于成功和失败场景)。
signature 先前参数的HMAC-SHA1六角形,验证他们的完整性
  • 有关这些属性的更多信息以及您可以使用它们的更多信息,请参阅响应签名。

  • 有关Chargify Returns的结果代码的详细信息,请参阅结果代码。