4.PHP接入支付宝手机网站支付、移动支付接口

Payment项目地址github地址

前面已经说完了 PHP接入支付宝 即时到帐接口

回调接口也已经完成。这篇主要讲 手机网站支付移动支付 接口的调用。调用方式与即时到帐 基本一样。

关于代码部分的详细解释,请 参看 PHP接入支付宝 即时到帐接口


// 订单数组
$orderData = [
    "order_no"  => createPayid(),
    "amount"    => '0.01',// 单位为元 ,最小为0.01
    "client_ip" => '127.0.0.1',
    "subject"   => '      测试支付',
    "body"  => '支付接口测试',
    "show_url"  => 'http://mall.tiyushe.com/goods/23.html',
];

// 支付宝配置信息
$aliconfig = [
    'partner'   => '2088xxxxx',
    'md5_key'   => 'xxxxxxxxxxxx',
    'rsa_private_key'   => dirname(__FILE__) . '/rsa_private_key.pem',
    "notify_url"    => 'http://test.helei.com/pay-notify.html',
    "return_url"    => 'http://test.helei.com/return-url.html',
    "time_expire"   => '14',
];

// 实例化环境类

$charge = new ChargeContext();


try {
    // 支付宝即时到帐接口
    // $type = Config::ALI_CHANNEL_WEB;
    // $charge->initCharge($type, $aliconfig);

    // 支付宝 手机网站支接口
    // $type = Config::ALI_CHANNEL_WAP;
    // $charge->initCharge($type, $aliconfig);

    // 支付宝 移动支付接口
    $type = Config::ALI_CHANNEL_APP;
    $charge->initCharge($type, $aliconfig);
    $ret = $charge->charge($payData);
} catch (PayException $e) {
    echo $e->errorMessage();exit;
}

if ($type === Config::ALI_CHANNEL_APP) {
    var_dump($ret);
} else {
    // 跳转支付宝
    header("Location:{$ret}");
}

oK!大家仔细看代码。唯一不同的,仅仅是支付的方式这个常量。
目前常量的含义
* Config::ALI_CHANNEL_WEB 及时到账接口,主要用于网站支付
* Config::ALI_CHANNEL_WAP 手机网站支付接口,主要用于手机浏览器
* Config::ALI_CHANNEL_APP 移动支付接口,主要用于原生APP

调用方式非常统一,传入的参数也被最大程度的统一化。简化了客户端的调用。这里主要对参数进行一些说明。

支付宝配置数据

$aliconfig = [
    'partner'   => '2088xxxxx',
    'md5_key'   => 'xxxxxxxxxxxx',
    'rsa_private_key'   => dirname(__FILE__) . '/rsa_private_key.pem',
    "notify_url"    => 'http://test.helei.com/pay-notify.html',
    "return_url"    => 'http://test.helei.com/return-url.html',
    "time_expire"   => '14',
];
参数参数名参数说明是否必须
partner合作者身份ID签约的支付宝账号对应的支付宝唯一用户号。以2088开头的16位纯数字组成。
md5_keyMD5密钥点击这里
rsa_private_keyRSA私钥点击这里
notify_url服务器异步通知URI支付宝服务器主动通知商户网站里指定的页面http路径。(建议使用https)
return_url页面跳转同步通知页面路径支付宝处理完请求后,当前页面自动跳转到商户网站里指定页面的url路径。仅在即时到账接口有效
time_expire超时时间设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭。单位默认为分钟

订单数据

$orderData = [
    "order_no"  => createPayid(),
    "amount"    => '0.01',// 单位为元 ,最小为0.01
    "client_ip" => '127.0.0.1',
    "subject"   => '      测试支付',
    "body"  => '支付接口测试',
    "show_url"  => 'http://mall.tiyushe.com/goods/23.html',
    "extra_param"   => '自定义参数',
];
参数参数名参数说明是否必须
order_no订单号平台根据规则生成的订单号,最长64位,要在商户数据库中唯一
amount交易总金额该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。
client_ip客户端IP用户在创建交易时,该用户当前所使用机器的IP。
subject商品名称商品的标题/交易标题/订单标题/订单关键字等。该参数最长为128个汉字。
body商品描述对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。
show_url商品展示网址收银台页面上,商品展示的超链接。手机网站支付接口:必须,其他:可选
extra_param公用回传参数如果用户请求时传递了该参数,则返回给商户时会回传该参数。仅在即时到帐接口有效
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值