资讯专栏INFORMATION COLUMN

PHP接入支付宝单笔订单查询接口

suxier / 2254人阅读

摘要:今天还是继续说说项目今天主要说说支付宝订单查询接口。直接上支付宝订单查询的代码。微信的订单查询与此类似。请求后,程序会向支付宝进行查询。

payment 项目2.0版本

巴西奥运会来了,刚好我又是做体育行业的互联网。哎!这个月又要加班成狗了。最近遇到好多莫名其妙的问题,待我忙完这段,再跟大家分享下。今天还是继续说说 Payment项目
今天主要说说支付宝订单查询接口。

接口调用

废话废话不多说。直接上支付宝订单查询的代码。微信的订单查询与此类似。后续也会更新文档。

// 支付宝配置信息
$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",
];


$data = [
    // 通过支付宝交易号查询,  推荐  效率更高
    "transaction_id"    => "2016011421001004330041239366",// 支付宝
    
    // 通过订单号查询
    "order_no"    => "2016011402433464",// 支付宝
];

$query = new QueryContext();

try {
    // 支付宝查询
    $query->initQuery(Config::ALI, $aliconfig);
    $ret = $query->query($data);

} catch (PayException $e) {
    echo $e->errorMessage();exit;
}

var_dump($ret);

非常简单,只需要提供支付宝的流水号,或者商家自己生成的订单号,就可完成订单详情的查询,当然前提是,依然要去签约这个接口(觉得支付宝真扯淡,都能够支付了,为什么查询还要多带带签约?这一点微信比它强)

如果同时提供了 transaction_idorder_no 这两个参数,会优先使用 transaction_id ,因为他的效率要高的多。

代码完成了下面分别解释下请求的参数。以及返回参数。关于支付宝的配置参数,请参考 PHP接入支付宝手机网站支付、移动支付接口

请求参数

查询订单的参数非常简单。这里能够查询的仅指:支付成功后的订单

参数 参数名 参数说明 是否必须
transaction_id 支付宝流水号 支付成功后,异步通知中会返回 二选一
order_no 商户订单号 商户生成的唯一订单号 二选一

对于上表中的数据,两个字段二选一即可。推荐使用 transaction_id ,该字段查询效率更高。如果两个字段同时提供,会优先使用 transaction_id

请求后,程序会向支付宝进行查询。查询完成后,会将返回的数据做一定处理然后返回给客户端。

返回参数

查询存在两种情况,失败,成功,分别对返回字段含义进行说明。

参数 参数名 参数说明 是否必须
is_success 成功标识 请求是否成功,T:成功,F:失败
error 错误提示 只有is_success=F时才返回
response 响应数据 查询成功后返回的数据,一个数组,is_success=T时返回

关于 response 中包含字段的描述

参数 参数名 参数说明 是否必须
subject 商品名称 订单的关键字
body 商品描述 提交订单时的body值
amount 交易金额 本次订单总金额
channel 支付渠道 本处取值: ali
order_no 商户网站唯一订单号 商户生成的订单号,必须确保在系统中唯一
buyer_id 买家支付宝账户号 可以是Email或手机号码。
trade_state 交易状态 支付成功与否,可取值:success not_pay
transaction_id 支付宝交易号 支付宝系统中的交易流水号,可用于查询订单状态
time_end 交易付款时间 格式为2016-07-28 16:01:01

针对查询返回的数据,调用者可进行相关的业务处理。如果需要更多信息可联系我进行定制开发,也可自行更改代码完成。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21867.html

相关文章

  • PHP接入微信企业付款功能

    摘要:是金额企业付款金额,单位为元是企业付款描述信息企业付款操作说明信息。 payment 项目2.0版本 这个功能与支付宝的批量付款到支付宝帐号功能类似。但是当前支付宝这个接口已经停止审核了。 当前很多提问平台就用到了这两个平台。比如[来问医生],你提的问题如果被人看了。医生得0.5元,你得0.5元。然后累积够1元后,[来问医生]就会通过微信的企业付款功能给你的微信余额增加1元。 代码调用...

    chnmagnus 评论0 收藏0
  • PHP接入微信退款接口

    摘要:项目版本微信的退款操作,通过封装与前面支付宝退款除了配置文件,基本一样。微信仅能每次退款笔如果想要实现一次退订多笔订单,可在客户端通过循环来处理。 payment 项目2.0版本 微信的退款操作,通过封装与前面支付宝退款除了配置文件,基本一样。 退款代码如下: use PaymentRefundContext; use PaymentCommonPayException; use P...

    caspar 评论0 收藏0
  • PHP接入支付宝有密退款接口

    摘要:之前没有接入该功能时,商城用户如果想要退款,我们需要先查到对应用户的支付流水号,然后写退款申请给财务,财务到支付宝进行查询。调用支付宝支持多笔退款。 payment 项目2.0版本 这个接口主要用于退款操作。之前没有接入该功能时,商城用户如果想要退款,我们需要先查到对应用户的支付流水号,然后写退款申请给财务,财务到支付宝进行查询。完了之后原路退回。然后告诉程序,程序再去修改订单状态。...

    leonardofed 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<