1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 手机话费充值 java实例_手机话费充值接口调用示例

手机话费充值 java实例_手机话费充值接口调用示例

时间:2022-04-04 20:36:11

相关推荐

手机话费充值 java实例_手机话费充值接口调用示例

package main

import (

"io/ioutil"

"net/http"

"net/url"

"fmt"

"encoding/json"

)

//----------------------------------

// 手机话费充值调用示例代码 - 聚合数据

// 在线接口文档:/docs/85

//----------------------------------

const APPKEY = "*******************" //您申请的APPKEY

func main(){

//1.账户余额查询

Request1()

//2.订单状态查询

Request2()

//4.状态回调配置

Request4()

//5.检测手机号码是否能充值

Request5()

//6.根据手机号和面值查询商品信息

Request6()

//7.手机直充接口

Request7()

}

//1.账户余额查询

func Request1(){

//请求地址

juheURL :="/ofpay/mobile/yue"

//初始化参数

param:=url.Values{}

//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参

param.Set("timestamp","") //当前时间戳,如:1432788379

param.Set("key",APPKEY) //应用APPKEY(应用详细页查询)

param.Set("sign","") //校验值,md5(OpenID+key+timestamp),OpenID在个人中心查询

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf("请求失败,错误信息:\r\n%v",err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

if netReturn["error_code"].(float64)==0{

fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"])

}

}

}

//2.订单状态查询

func Request2(){

//请求地址

juheURL :="/ofpay/mobile/ordersta"

//初始化参数

param:=url.Values{}

//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参

param.Set("orderid","") //商家订单号,8-32位字母数字组合

param.Set("key",APPKEY) //应用APPKEY(应用详细页查询)

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf("请求失败,错误信息:\r\n%v",err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

if netReturn["error_code"].(float64)==0{

fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"])

}

}

}

//4.状态回调配置

func Request4(){

//请求地址

juheURL :="充值接口测试完毕,联系在线客服进行回调配置"

//初始化参数

param:=url.Values{}

//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参

//发送请求

data,err:=Post(juheURL,param)

if err!=nil{

fmt.Errorf("请求失败,错误信息:\r\n%v",err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

if netReturn["error_code"].(float64)==0{

fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"])

}

}

}

//5.检测手机号码是否能充值

func Request5(){

//请求地址

juheURL :="/ofpay/mobile/telcheck"

//初始化参数

param:=url.Values{}

//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参

param.Set("phoneno","") //手机号码

param.Set("cardnum","") //充值金额,目前可选:5、10、20、30、50、100、300

param.Set("key",APPKEY) //应用APPKEY(应用详细页查询)

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf("请求失败,错误信息:\r\n%v",err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

if netReturn["error_code"].(float64)==0{

fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"])

}

}

}

//6.根据手机号和面值查询商品信息

func Request6(){

//请求地址

juheURL :="/ofpay/mobile/telquery"

//初始化参数

param:=url.Values{}

//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参

param.Set("phoneno","") //手机号码

param.Set("cardnum","") //充值金额,目前可选:5、10、20、30、50、100、300

param.Set("key",APPKEY) //应用APPKEY(应用详细页查询)

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf("请求失败,错误信息:\r\n%v",err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

if netReturn["error_code"].(float64)==0{

fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"])

}

}

}

//7.手机直充接口

func Request7(){

//请求地址

juheURL :="/ofpay/mobile/onlineorder"

//初始化参数

param:=url.Values{}

//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参

param.Set("phoneno","") //手机号码

param.Set("cardnum","") //充值金额,目前可选:5、10、20、30、50、100、300

param.Set("orderid","") //商家订单号,8-32位字母数字组合

param.Set("key",APPKEY) //应用APPKEY(应用详细页查询)

param.Set("sign","") //校验值,md5(OpenID+key+phoneno+cardnum+orderid),OpenID在个人中心查询

//发送请求

data,err:=Get(juheURL,param)

if err!=nil{

fmt.Errorf("请求失败,错误信息:\r\n%v",err)

}else{

var netReturn map[string]interface{}

json.Unmarshal(data,&netReturn)

if netReturn["error_code"].(float64)==0{

fmt.Printf("接口返回result字段是:\r\n%v",netReturn["result"])

}

}

}

// get 网络请求

func Get(apiURL string,params url.Values)(rs[]byte ,err error){

var Url *url.URL

Url,err=url.Parse(apiURL)

if err!=nil{

fmt.Printf("解析url错误:\r\n%v",err)

return nil,err

}

//如果参数中有中文参数,这个方法会进行URLEncode

Url.RawQuery=params.Encode()

resp,err:=http.Get(Url.String())

if err!=nil{

fmt.Println("err:",err)

return nil,err

}

defer resp.Body.Close()

return ioutil.ReadAll(resp.Body)

}

// post 网络请求 ,params 是url.Values类型

func Post(apiURL string, params url.Values)(rs[]byte,err error){

resp,err:=http.PostForm(apiURL, params)

if err!=nil{

return nil ,err

}

defer resp.Body.Close()

return ioutil.ReadAll(resp.Body)

}

登录 后可发表评论

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。