为了更好的推广产品,更好的变现Telegram客户流量,我们需要在Telegram接入支付。
当然第一步我们需要去BotFather 那里拿到 provider_token(支付token),不是机器人token哦,这个要区分开来。获取provider_token时我们绑定的是stripe支付平台,stripe无法激活我们可以用测试密钥的。
下面开始接入,首先看下Payments的sendInvoice 发送发票说明:
如图需要我们传这些参数,其中Required 是必填的。
下面我们以PHP语言开发为例:
先安装依赖 git 地址:https://github.com/irazasyed/telegram-bot-sdk
composer require irazasyed/telegram-bot-sdk ^3.1
php artisan vendor:publish --provider="Telegram\Bot\Laravel\TelegramServiceProvider"
然后在代码初始化
$telegram = new Tgapi();
创建发票信息:
$LabeledPrice =array(array (
'label'=>"价格1",
'amount' =>'1000',
),array (
'label'=>"价格2",
'amount' =>'1002',
),array (
'label'=>"折扣",
'amount' =>'-10',
));
$param = array(
'chat_id'=>"1990889037",
"title"=>"充值手机号", //标题
"description"=>"请充值手机号", //描述
"payload"=>"123456789",
"provider_token"=>"284685063:TEST:OTRiZjEyYjU4MzA2", //支付token
"start_parameter"=>'u4u-invoice-0001',
"prices"=>$LabeledPrice, //价格组
"currency"=>"CNY", //货币类型
"need_name"=>true,
"need_phone_number"=>true, //填写手机号
"need_email"=>true,
"send_phone_number_to_provider"=>true,
"send_email_to_provider"=>true);
$res =$telegram->sendInvoice($param);
在tg聊天那里生成的效果
用户支付成功或者失败,我们都需要服务端做相应的回调响应处理订单等信息。这样简单地实现了Telegram 的支付功能。
当然Payments 接口还有很多方法可以使用如:
answerShippingQuery
answerPreCheckoutQuery
用户可以填写邮寄地址,个人信息等,极大地方便了我们做电子商务。