支付

这是成功吊起后的支付页面,

这种就是需要你FQ了,你的网络不允许访问,这个要注意哦。

直接上代码
SDK下载
支付文档

public function paytm(){require_once("PaytmChecksum.php");//只需要这一个文件引入,在文档可以下载$orderId = request()->request('orderId');$amount = request()->request('amount');$custId = request()->request('custId');$mobileNo = request()->request('mobileNo');$email = request()->request('email');$paytmParams = array();$mid = "your mid ID";$key ="your key";$paytmParams["body"] = array("requestType"  => "Payment","mid"   => $mid,"websiteName"  => "DEFAULT","orderId"    =>$orderId,"callbackUrl"  => "http://".$_SERVER['HTTP_HOST']."/pay/quick/paytm_back","txnAmount"   => array("value"   => $amount.".00","currency" => "INR",),"userInfo" => array("custId" => 'DG',"mobile"=>$mobileNo,),);/** Generate checksum by parameters we have in body* Find your Merchant Key in your Paytm Dashboard at https://dashboard.paytm.com/next/apikeys*/$checksum = PaytmChecksum::generateSignature(json_encode($paytmParams["body"], JSON_UNESCAPED_SLASHES), $key);$paytmParams["head"] = array("signature"=> $checksum);$post_data = json_encode($paytmParams, JSON_UNESCAPED_SLASHES);/* for Staging *///$url = "https://securegw-stage.paytm.in/theia/api/v1/initiateTransaction?mid=".$mid."&orderId=".$orderId;//测试环境的URL/* for Production *///https://securegw.paytm.in/theia/api/v1/initiateTransaction?mid={mid}&orderId={order-id}$url = "https://securegw.paytm.in/theia/api/v1/initiateTransaction?mid=".$mid."&orderId=".$orderId;//正式环境的URL$ch = curl_init($url);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));$response = curl_exec($ch);$response = json_decode($response,true);//dump($response);exit;$txnToken = $response['body']['txnToken'];$txt = "mid=".$mid."&orderId=".$orderId."&txnToken=".$txnToken;$token = $this->lock_url($txt);//这里我做了一个加密。,可以省略这一步$urls = "http://".$_SERVER['HTTP_HOST']."/pay/quick/paytmtwo?token=".$token;//dump($urls);exit;//return $urls;header("Location:".$urls);exit;}//回调public function paytm_back(){require_once("PaytmChecksum.php");$key ="your key";$paytmParams = $_POST;$paytmChecksum = $_POST['CHECKSUMHASH']; //秘钥$orderId = $_POST['ORDERID'];//订单id$stauts = $_POST['STATUS'];//订单状态        //TXN_SUCCESS    //TXN_FAILURE  //PENDING$RESPCODE = $_POST['RESPCODE'];//状态码if($stauts == 'TXN_SUCCESS'){       //1,-1,5是我的业务逻辑的值,可以改变$status ='1';//成功}if($stauts == 'TXN_FAILURE'){$status ='-1';//失败}if($stauts == 'PENDING'){$status ='5';//排队}unset($paytmParams['paytmChecksum']);/*** Verify checksum* Find your Merchant Key in your Paytm Dashboard at https://dashboard.paytm.com/next/apikeys */$isVerifySignature = PaytmChecksum::verifySignature($paytmParams, $key, $paytmChecksum);if($isVerifySignature) {//验证成功的业务逻辑}}

转账

paytm的转账分电子钱包的转账和银行卡转账,我这接的电子钱包的转账
转账文档

 public function paytmcash(){require_once("PaytmChecksum.php");$paytmParams = array();//出款账户的子账户,需要在paytm的后台给出款的权限$paytmParams["subwalletGuid"]      = "012634d-85214-4908-a107-2****";$paytmParams["orderId"]            = '123131321';//订单ID$paytmParams["beneficiaryPhoneNo"] = '666666';//电话$paytmParams["amount"]             =100;//金额$paytmParams["callbackUrl"]             = "http://".$_SERVER['HTTP_HOST']."/pay/takecash/paytm_back";//回调地址$post_data = json_encode($paytmParams, JSON_UNESCAPED_SLASHES);/** Generate checksum by parameters we have in body* Find your Merchant Key in your Paytm Dashboard at https://dashboard.paytm.com/next/apikeys */$checksum = PaytmChecksum::generateSignature($post_data, "#");//YOUR_MERCHANT_KEY$x_mid      = "#";//YOUR_MID_HERE$x_checksum = $checksum;/* for Staging *///测试URL//$url = "https://staging-dashboard.paytm.com/bpay/api/v1/disburse/order/wallet/food";/* for Production *///正式URL$url = "https://dashboard.paytm.com/bpay/api/v1/disburse/order/wallet/gratification";$ch = curl_init($url);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "x-mid: " . $x_mid, "x-checksum: " . $x_checksum)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch);$response = json_decode($response,true);}//paytm转账回调public function paytm_back(){//回调的参数 和获取订单状态的接口返回的一样//   $POST = '{"status":"SUCCESS","statusCode":"DE_001","statusMessage":"Successful disbursal to Wallet is done","result":{"mid":"PCENTE16235332048181","orderId":"1604030836","paytmOrderId":"202010300937166929359223","amount":"1.00","commissionAmount":"0.02","tax":"0.00","rrn":null,"beneficiaryName":null,"isCachedData":null,"cachedTime":null,"reversalReason":null}}';$POST = file_get_contents('php://input');$POST = json_decode($POST,true);$orderId = $POST['result']['orderId'];$status = $POST['status'];if($status == 'SUCCESS'){$status = 1;}if($status == 'FAILURE'){$status = -1;}//paytm的转账回调没有秘钥验证,有点不安全,回调过来的信息和获取订单状态返回的信息是一样的,可以去获取订单信息来完成订单回调
}

PHP接入 paytm的支付 和转账相关推荐

  1. H5网站接入支付宝的支付接口

    写本文章的目的是为了记录工作中遇到的问题,方便以后遇到可以迅速解决问题 H5手机网站接入支付宝的支付接口,推荐使用支付宝提供的SDK来快速开发 我使用的是SDK开发 引用命名空间 using Aop. ...

  2. 商家 APP 如何接入新版支付宝支付,老版本商家如何升级

    代码地址如下: http://www.demodashi.com/demo/14006.html ##前言 支付宝移动支付2.0版本对比1.0版本做了较大更新,新申请的商家都需要采用最新2.0版本 S ...

  3. 未认证公众号接入公众号支付

    记录一次未认证公众号接入公众号支付 话虽这样说,实际必须有一个已经认证且已经可以使用微笑公众号支付的公众号A 公众号B没有认证,调用支付全部使用公众号A的参数(AppID,AppSecrect,pay ...

  4. Android接入支付宝实现支付功能

    Android接入支付宝实现支付功能 我本来是想直接讲Android支付这一块的,包括支付宝,微信,其他第三方整合支付等,但是微信开放平台他对我的账号做了限制,所有我今天就先把重心放在支付宝的支付上, ...

  5. PHP微信支付 “商家转账到零钱”一文概述

    PHP微信支付 商家转账到零钱 这里有个坑 1:转账低于5毛会失败 2:转账金额需要自己取整一下,微信官方金额是 分 为单位,换算成 元 时可能会除不尽 { "code":&quo ...

  6. paypal php 返回_接入 paypal PHP-sdk 支付 / 回调 / 退款全流程

    记录一下接入paypal 全过程 因项目的原因要用到国外的支付和国外的信用卡,查了一下paypal就内置了信用卡付款方式,所以只需要接入paypal就能基本满足项目海外支付的需求. 查了一下文档发现w ...

  7. 光大银行h5支付(php接入光大银行h5支付)

    光大银行h5支付(php接入光大银行h5支付) 光大银行和其它主流支付流程不一样,接这个支付最费时间,最开始是我来开发,但银行一直不给测试环境,等了大概1到2个月,给了测试环境,开始遇到各种问题,大概 ...

  8. Android安卓原生接入微信app支付PHP服务端

    Android安卓接入微信app支付PHP服务端 1.进入微信商户平台查看统一下单接口文档. 在查看完统一下单文档后,能够看到需要传递给微信"统一下单接口"地址的参数有哪些 统一下 ...

  9. Android PayPal支付的接入和SDK支付过程解析

    Android PayPal支付的接入和SDK支付过程解析 根据产品需求,要接入PayPal支付,在研究了几天支付后,总结下内容给新手使用,本篇文章如果与官方文档有差异的话,一切以官方为准.转载请注明 ...

最新文章

  1. 扔掉源码,15张图带你彻底理解java AQS
  2. python配置核_浅谈pytorch卷积核大小的设置对全连接神经元的影响
  3. 前端学习(2952):webpack目录结构
  4. 新版的Lync客户端无法用于老版的OCS服务器
  5. mysql6.1 交叉编译_Armbian系统-mysql-connector-c++-1.1.8版本-交叉编译-安装
  6. Redis之允许远程访问
  7. Python之队列queue模块使用 常见问题与用法
  8. TTML(IMSC)字幕
  9. 人无自信当废人无自信而不立
  10. iphone的铃声格式
  11. 层次路由与路由选择协议
  12. vue 点赞+收藏 图标
  13. Ubuntu出现 recovering journal ; /dev/sda1: clean, ***/*** files, ***/*** blocks 等信息无法开机的问题
  14. onedrive手机登录出现 无法登录,管理员需要为你分配可执行此操作的SharePoint和OneDrive许可证
  15. 「Java」冒泡排序
  16. 检查nmos管是否损坏
  17. 网易我的世界服务器如何安组件,网易我的世界组件包怎么使用
  18. 如何在调用方法时,让方法中的参数指向元素本身
  19. 2022-2028全球仿生面罩行业调研及趋势分析报告
  20. JAMA发表备受期待的22nd Century SPECTRUM(R)极低尼古丁含量香烟III期研究结果

热门文章

  1. Java Swing坦克小游戏
  2. RESTART-Axu1
  3. POJ - 1376 Robot
  4. 停车场项目,测试“收费规则”弹框和业务,测试用例的设计
  5. 【JavaWeb开发】使用java实现简单的Excel文件的导入与导出(POI)
  6. 小米9android q测试版,小米9/小米MIX 3 5G的Android Q测试包已发布
  7. 关于省市区,编辑页面怎么显示原来用户填写的
  8. 【前端】浏览器内核(渲染引擎)有哪些?
  9. 如何注册售电公司,需要多少钱,多长时间。
  10. J-Link使用汇总(STM32F103)