首页
IT
登录
6mi
u
盘
搜
搜 索
IT
支付宝支付
支付宝支付
xiaoxiao
2021-03-25
348
支付宝支付
function
order_pay
(
$sn
,
$price
)
{
//合作身份者id,以2088开头的16位纯数字
$alipay_config
[
'partner'
]
=
'2088121321528708'
;
//收款支付宝账号
$alipay_config
[
'seller_email'
]
=
'itbing@sina.cn'
;
//安全检验码,以数字和字母组成的32位字符
$alipay_config
[
'key'
]
=
'1cvr0ix35iyy7qbkgs3gwymeiqlgromm'
;
//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//签名方式 不需修改
$alipay_config
[
'sign_type'
]
= strtoupper
(
'MD5'
)
;
//字符编码格式 目前支持 gbk 或 utf-8
//$alipay_config['input_charset']= strtolower('utf-8');
//ca证书路径地址,用于curl中ssl校验
//请保证cacert.pem文件在当前文件夹目录中
//$alipay_config['cacert'] = getcwd().'\\cacert.pem';
//访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http
$alipay_config
[
'transport'
]
=
'http'
;
$parameter
=
array
(
"service"
=>
"create_direct_pay_by_user"
,
"partner"
=>
$alipay_config
[
'partner'
]
,
// 合作身份者id
"seller_email"
=>
$alipay_config
[
'seller_email'
]
,
// 收款支付宝账号
"payment_type"
=>
'1'
,
// 支付类型
"notify_url"
=>
"http://localhost/mstreet.lzpphp.com/asy"
,
// 服务器异步通知页面路径
"return_url"
=>
"http://localhost/mstreet.lzpphp.com/syn"
,
// 页面跳转同步通知页面路径
"out_trade_no"
=>
$sn
,
// 商户网站订单系统中唯一订单号
"subject"
=>
$sn
,
// 订单名称
"total_fee"
=>
$price
,
// 付款金额
"body"
=>
"《男人街》订单"
,
// 订单描述 可选
"show_url"
=>
""
,
// 商品展示地址 可选
"anti_phishing_key"
=>
""
,
// 防钓鱼时间戳 若要使用请调用类文件submit中的query_timestamp函数
"exter_invoke_ip"
=>
""
,
// 客户端的IP地址
"_input_charset"
=>
'utf-8'
,
// 字符编码格式
)
;
// 去除值为空的参数
foreach
(
$parameter
as
$k
=>
$v
)
{
if
(
empty
(
$v
))
{
unset
(
$parameter
[
$k
])
;
}
}
// 参数排序
ksort
(
$parameter
)
;
reset
(
$parameter
)
;
// 拼接获得sign
$str
=
""
;
foreach
(
$parameter
as
$k
=>
$v
)
{
if
(
empty
(
$str
))
{
$str
.=
$k
.
"="
.
$v
;
}
else
{
$str
.=
"&"
.
$k
.
"="
.
$v
;
}
}
$parameter
[
'sign'
]
= md5
(
$str
.
$alipay_config
[
'key'
])
;
// 签名
$parameter
[
'sign_type'
]
=
$alipay_config
[
'sign_type'
]
;
$html
=
"https://mapi.alipay.com/gateway.do?"
.
$str
.
'&sign='
.
$parameter
[
'sign'
]
.
'&sign_type='
.
$parameter
[
'sign_type'
]
;
return
$html
;
}
同步异步
//同步
public function
syn
(
Request
$request
)
{
$session
=
new
Session
()
;
$users
=
$session
->get
(
'users'
)
;
$result
=
$request
->input
()
;
if
(
$result
[
'is_success'
]
==
'T'
){
$re
= DB::
table
(
'man_order_info'
)
->where
(
'order_sn'
,
$result
[
'subject'
])
->update
([
'pay_status'
=>
1
,
'money_paid'
=>
$result
[
'total_fee'
]
,
'pay_time'
=>
$result
[
'notify_time'
]
])
;
if
(
$re
){
DB::
table
(
'man_cart'
)
->where
(
'user_id'
,
$users
[
'user_id'
])
->delete
()
;
echo
"<script>
alert
('完成支付,返回首页');
location
.
href
='index'</script>"
;
}
else
{
echo
"<script>
alert
('支付状态修改失败,请联系客服');
location
.
href
='index'</script>"
;
}
// echo "这是同步";
}
else
{
echo
"<script>
location
.
href
='index'</script>"
;
}
}
//异步
public function
asy
(
Request
$request
)
{
$data
=
$request
->input
()
;
print_r
(
$data
)
;
die
;
$out_trade_no
=
$data
[
'out_trade_no'
]
;
$trade_status
=
$data
[
'trade_status'
]
;
$gmt_payment
=
$data
[
'gmt_payment'
]
;
$re
= DB::
table
(
'man_order_info'
)
->where
(
'order_sn'
,
$out_trade_no
)
->first
()
;
if
(
$re
)
{
$res
= DB::
table
(
'man_order_info'
)
->where
(
'order_sn'
,
$out_trade_no
)
->update
([
'pay_status'
=>
1
,
'pay_time'
=>
$gmt_payment
])
;
if
(
$res
){
echo
'success'
;
}
}
}
转载请注明原文地址: https://ju.6miu.com/read-21901.html
技术
最新回复
(
0
)