协助 CC 处理脚本
Posted
技术标签:
【中文标题】协助 CC 处理脚本【英文标题】:Assistance with CC Processing script 【发布时间】:2011-02-21 02:09:52 【问题描述】:我目前正在实施信用卡处理脚本,大部分由商家网关提供。代码调用类中的函数并根据响应返回一个字符串。我正在使用的带有示例信息的最终 php 代码(当然删除了细节)是:
<?php
$gw = new gwapi;
$gw->setLogin("username", "password");
$gw->setBilling("John","Smith","Acme, Inc.","888","Suite 200", "Beverly Hills",
"CA","77777","US","555-555-5555","555-555-5556","support@example.com",
"www.example.com");
// "CA","90210","US","support@example.com");
$gw->setOrder("1234","Big Order",1, 2, "PO1234","65.192.14.10");
$r = $gw->doSale("1.00","4111111111111111","1010");
print $gw->responses['responsetext'];
?>
setlogin 允许我登录,setbilling 获取样本消费者信息,set order 获取订单 ID 和描述,dosale 获取收取的金额,cc number 和 exp 日期。
当所有变量都被发送验证然后发送处理时,返回一个字符串,格式如下:
response=1&responsetext=SUCCESS&authcode=123456&transactionid=23456&avsresponse=M&orderid=&type=sale&response_code=100
地点:
响应 = 交易已批准或 拒绝 回复文字 = 文字回复 authcode = 交易授权 代码 transactionid = 支付网关传输 身份证 avsresponse = avs 响应代码 orderid = 传入的原始订单 ID 传输请求 response_code = 数字映射 处理器响应我正在尝试解决以下问题:
-
如何获取数据
传回并显示
适当地在页面上 - 如果
交易失败或 AVS 代码
不符合我的喜好什么的
是错误的,会显示一个错误
消费者;如果交易
处理后,他们被带到一个
完成页面和交易
id 在 SESSION 中作为输出发送到
消费者
如果 response_code 值与
值表,某些动作是
采取,即如果代码=100,采取
成功页面,如果代码 = 300 打印
原始页面上的特定错误
客户等。
【问题讨论】:
我有点害怕一个不知道如何解析字符串的程序员正在处理信用卡信息。 @Matti - 感谢您的信任。我在一个组织工作,我帮助实现了 PCI 合规性,并在过去 3 年从事项目管理/产品开发工作。我们让我们的一些编程团队离开,我负责帮助我们的一个合作伙伴网站运行。也许您可以为最佳实践或任何以前的经验提供指导,而不是侮辱我,因为您的评论对这个问题没有任何帮助 就这样 - S.O. 上最受欢迎的问题之一。这就是为什么“新手”程序员回避提高他们的技术的原因,因为这样的答案。高级程序员对待新手就像他们是愚蠢的一样。如果这个论坛只针对高级问题,那么他们早就应该将其作为标准。 我完全不是这个意思。当然,不太高级的程序员应该不断挑战自己以提高自己的能力。 但不在生产代码中。 【参考方案1】:使用parse_str() 与数组参数(永远不要不使用)从字符串中获取包含键/值对的数组。然后,您可以轻松访问单独的值并实现您的逻辑。
【讨论】:
【参考方案2】:我会在整个字符串上使用explode
函数,在&
符号上分隔,以获得第一个数组。然后,我将使用另一个 explode
迭代结果,在 =
sign 上分离以获得键值对。从那里您可以像使用任何其他数组一样使用它。
【讨论】:
以上是关于协助 CC 处理脚本的主要内容,如果未能解决你的问题,请参考以下文章
协助处理 javascript 错误:TypeError: Cannot read property 'hash' of undefined