ActiveMerchant Cybersource 授权错误原因 102
ActiveMerchant Cybersource Authorization Error Reason 102
我正在使用 ActiveMerchant 1.117.0
.
调试目前在 Ruby 2.5.8
上 运行 的应用程序
我能够成功创建和保存订阅。但是,当我尝试授权已保存的卡时,我一直收到 reasonCode 102
。来自 Cybersource 网关端的错误是 the subscription () could not be found
.
我正在尝试使用以下功能进行授权:
def authorize(token, amount, order_id, line_items)
response = gateway.authorize(amount, token, order_id: order_id, line_items: line_items)
if !response.success?
raise Exceptions::ChargeFailed.new(response.message, response: response)
end
response
end
这个错误会让我相信这里的格式不正确。任何人都可以指出一些有效的 ActiveMerchant CyberSource 示例来授权订阅或指出这里可能有什么问题吗?
经过一番挖掘,ActiveMerchant CyberSource 内部的代币分配逻辑似乎发生了变化 gem
原逻辑是:
if reference
_, subscription_id, _ = reference.split(";")
xml.tag! 'subscriptionID', subscription_id
end
最新版本转向:
if reference
subscription_id = reference.split(";")[6]
xml.tag! 'subscriptionID', subscription_id
end
我之前使用的应用程序将 CyberSource 配置文件/订阅 ID 格式化为 ;#{token};
。为了使用这些最新更新,令牌需要格式化为 ;;;;;;#{token}
.
我正在使用 ActiveMerchant 1.117.0
.
Ruby 2.5.8
上 运行 的应用程序
我能够成功创建和保存订阅。但是,当我尝试授权已保存的卡时,我一直收到 reasonCode 102
。来自 Cybersource 网关端的错误是 the subscription () could not be found
.
我正在尝试使用以下功能进行授权:
def authorize(token, amount, order_id, line_items)
response = gateway.authorize(amount, token, order_id: order_id, line_items: line_items)
if !response.success?
raise Exceptions::ChargeFailed.new(response.message, response: response)
end
response
end
这个错误会让我相信这里的格式不正确。任何人都可以指出一些有效的 ActiveMerchant CyberSource 示例来授权订阅或指出这里可能有什么问题吗?
经过一番挖掘,ActiveMerchant CyberSource 内部的代币分配逻辑似乎发生了变化 gem
原逻辑是:
if reference
_, subscription_id, _ = reference.split(";")
xml.tag! 'subscriptionID', subscription_id
end
最新版本转向:
if reference
subscription_id = reference.split(";")[6]
xml.tag! 'subscriptionID', subscription_id
end
我之前使用的应用程序将 CyberSource 配置文件/订阅 ID 格式化为 ;#{token};
。为了使用这些最新更新,令牌需要格式化为 ;;;;;;#{token}
.