╭───────────────────────╮ ╭────┤ 支付宝代码示例结构说明 ├────╮ │ ╰───────────────────────╯ │ │ │ │ 接口名称:支付宝即时到帐接口(create_direct_pay_by_user) │ │ 代码版本:3.1 │ │ 开发语言:PHP │ │ 版 权:支付宝(中国)网络技术有限公司 │ │ 制 作 者:支付宝商户事业部技术支持组 │ │ 联系方式:商户服务电话0571-88158090 │ │ │ ╰─────────────────────────────────╯ ─────── 代码文件结构 ─────── js_php_utf8 │ ├class┈┈┈┈┈┈┈┈┈┈┈┈类文件夹 │ │ │ ├alipay_function.php┈┈┈公用函数类文件 │ │ │ ├alipay_notify.php┈┈┈┈支付宝通知处理类文件 │ │ │ └alipay_service.php ┈┈┈支付宝请求处理类文件 │ ├images ┈┈┈┈┈┈┈┈┈┈┈图片、CSS样式文件夹 │ ├log.txt┈┈┈┈┈┈┈┈┈┈┈日志文件 │ ├alipay_config.php┈┈┈┈┈┈基础信息配置文件 │ ├alipayto.php ┈┈┈┈┈┈┈┈支付宝接口入口文件 │ ├index.php┈┈┈┈┈┈┈┈┈┈快速付款入口模板文件 │ ├notify_url.php ┈┈┈┈┈┈┈服务器异步通知页面文件 │ ├return_url.php ┈┈┈┈┈┈┈页面跳转同步通知文件 │ └readme.txt ┈┈┈┈┈┈┈┈┈使用说明文本 ※注意※ 需要配置的文件是:alipay_config.php、alipayto.php index.php仅是支付宝提供的付款入口模板文件,可选择使用。 如果商户网站根据业务需求不需要使用,请把alipayto.php作为与商户网站网站相衔接页面。 如果需要使用index.php,那么alipayto.php文件无需更改,只需配置好alipay_config.php文件 拿到index.php页面在商户网站中的HTTP路径放置在商户网站中需要的位置,就能直接使用支付宝接口。 ───────── 类文件函数结构 ───────── alipay_function.php function build_mysign($sort_array,$key,$sign_type = "MD5") 功能:生成签名结果 输入:Array $sort_array 要签名的数组 String $key 安全校验码 String $sign_type 签名类型 默认值 MD5 输出:String 签名结果字符串 function create_linkstring($array) 功能:把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 输入:Array $array 需要拼接的数组 输出:String 拼接完成以后的字符串 function para_filter($parameter) 功能:除去数组中的空值和签名参数 输入:Array $parameter 签名参数组 输出:Array 去掉空值与签名参数后的新签名参数组 function arg_sort($array) 功能:对数组排序 输入:Array $array 排序前的数组 输出:Array 排序后的数组 function sign($prestr,$sign_type) 功能:签名字符串 输入:String $prestr 需要签名的字符串 String $sign_type 签名类型 输出:String 签名结果 function log_result($word) 功能:写日志,方便测试(看网站需求,也可以改成存入数据库) 输入:String $word 要写入日志里的文本内容 function query_timestamp($partner) 功能:用于防钓鱼,调用接口query_timestamp来获取时间戳的处理函数 输入:String $partner 合作身份者ID 输出:String 时间戳字符串 function charset_encode($input,$_output_charset ,$_input_charset) 功能:实现多种字符编码方式 输入:String $input 需要编码的字符串 String $_output_charset 输出的编码格式 String $_input_charset 输入的编码格式 输出:String 编码后的字符串 function charset_decode($input,$_input_charset ,$_output_charset) 功能:实现多种字符解码方式 输入:String $input 需要解码的字符串 String $_output_charset 输出的解码格式 String $_input_charset 输入的解码格式 输出:String 解码后的字符串 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ alipay_notify.php function alipay_notify($partner,$key,$sign_type,$_input_charset = "GBK",$transport= "https") 功能:构造函数 从配置文件中初始化变量 输入:String $partner 合作身份者ID String $key 安全校验码 String $sign_type 签名类型 String $_input_charset 字符编码格式 默认值 GBK String $transport 访问模式 默认值 https function notify_verify() 功能:对notify_url的认证 输出:Bool 验证结果:true/false function return_verify() 功能:对return_url的认证 输出:Bool 验证结果:true/false function get_verify($url,$time_out = "60") 功能:获取远程服务器ATN结果 输入:String $url 指定URL路径地址 String $time_out 超时计时器 默认值60 输出:String 服务器ATN结果字符串 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ alipay_service.php function alipay_service($parameter,$key,$sign_type) 功能:构造函数 从配置文件及入口文件中初始化变量 输入:Array $parameter 需要签名的参数数组 Array $key 安全校验码 Array $sign_type 签名类型 function build_form() 功能:构造表单提交HTML 输出:String 表单提交HTML文本 ────────── 如何增加请求参数 ────────── 在技术文档的请求参数列表中有诸多请求参数,如果因业务需求等原因要利用这些参数,那么可以按照下面的操作方法来扩充接口功能。 ┉┉┉以参数it_b_pay为例┉┉┉ 打开alipayto.php文件,在注释“以下参数是需要通过下单时的订单数据传入进来获得”与“/////////////////////////////////////////////////”代码段之间添加以下代码: ///////////////////////////////////////////////// //扩展功能参数——自定义超时(若要使用,请按照注释要求的格式赋值) //该功能默认不开通, //申请开通方式: //方式一:联系支付宝技术支持申请处理 //方式二:拨打0571-88158090申请 //方式三:提交集成申请(https://b.alipay.com/support/helperApply.htm?action=consultationApply) $it_b_pay = ""; //超时时间,不填默认是15天。设置范围:1m~15d。,-分隔符,~-范围 , m-分钟,h-小时,d-天,1c-当天(无论何时创建,交易都在0点关闭) //如:$it_b_pay = "1m~1h,2h,3h,1c"; ///////////////////////////////////////////////// 在“构造要请求的参数数组,无需改动”注释下方的“数组参数$parameter”中增加数组元素【 "it_b_pay" => $it_b_pay】 ///////////////////////////////////////////////// $parameter = array( "service" => "create_direct_pay_by_user", //接口名称,不需要修改 "payment_type" => "1", //交易类型,不需要修改 //获取配置文件(alipay_config.php)中的值 "partner" => $partner, "seller_email" => $seller_email, "return_url" => $return_url, "notify_url" => $notify_url, "_input_charset" => $_input_charset, "show_url" => $show_url, //从订单数据中动态获取到的必填参数 "out_trade_no" => $out_trade_no, "subject" => $subject, "body" => $body, "total_fee" => $total_fee, //扩展功能参数——网银提前 "paymethod" => $paymethod, "defaultbank" => $defaultbank, //扩展功能参数——防钓鱼 "anti_phishing_key" => $anti_phishing_key, "exter_invoke_ip" => $exter_invoke_ip, //扩展功能参数——自定义参数 "buyer_email" => $buyer_email, "extra_common_param"=> $extra_common_param, //扩展功能参数——分润 "royalty_type" => $royalty_type, "royalty_parameters" => $royalty_parameters, //扩展功能参数——自定义超时 "it_b_pay" => $it_b_pay ); ///////////////////////////////////////////////// ────────── 出现问题,求助方法 ────────── 如果在集成支付宝接口时,有疑问或出现问题,可使用下面的链接,提交申请。 https://b.alipay.com/support/helperApply.htm?action=supportHome 我们会有专门的技术支持人员为您处理
Name | Last Update |
Last Commit
History
|
---|---|---|
.. | ||
class | ||
images | ||
alipay_config.php | ||
alipayto.php | ||
index.php | ||
log.txt | ||
notify_url.php | ||
readme.txt | ||
return_url.php |