一、由于文档丢失原因,我就直接上代码了。

这个Stripe支付可以支持多个币种,我下面就采用"HDK"来参照支付先上一个支付效果图

本文用到的框架是Stripe.net 22.8.0   我尝试了下升级NUGET,但是后台的C#代码的方法就更新掉了,所以我采用的这个版本。

 提示:先上代码,在说明博主自己理解的流程。

一、前端代码如下:请求的是ashx后台一般处理程序(C# asp.net)

 myStripe.pay({
title: 'Soonnet Web Site',
currency: 'HKD',
amount: <%= Money.Text %> * 100,//这里为什么要 * 100 呢 因为这个钱默认他们打了1折扣,具体忘记为什么了,好像只有港币这样。
callback: function (p) {
var dt = {
TokenID: this.tokenId, //这个是必须的,下面的四个参数根据自身业务确认
//Amount:6300,
Email: this.email,
"MasterGroupType": getQueryString("GT"),
"Mmail": getQueryString("E"),
"RunId": getQueryString("R")
}
$.ajax({
url: "/ReasontoRun/Running.ashx?method=paypal&PayType=1",//支付类型
method: "post",
data: dt,
async: false,
success: function (data) {
if (data.success) {
location.href = "/ReasontoRun/success.html?W=IsSUC";
} else {
layer.msg(data.msg);
}
},
error: function () {
}
})
}
});
 var myStripe = {
testKey: '<%=ConfigurationManager.AppSettings["pk_liveConfig"] %>', <!--配置文件中的key 这个从Stripe中取,我就不截图展示了-->
logoImg: "https://stripe.com/img/documentation/checkout/marketplace.png", <!--抬头的Logo-->
//换卡
changeHandler: function (f) {
return StripeButton.configure({
key: this.testKey,
image: f.logoImg || this.logoImg,
name: f.title || 'Update Card Detail',
panelLabel: f.button || 'Submit',
allowRememberMe: false,
locale: 'auto',
dataKey: this.testKey,
token: function (token) {
f.email = token.email;
f.tokenId = token.id;
f.callback(f);
}
});
},
payHandler: function (f) {
layer.closeAll(0);
return StripeCheckout.configure({
key: this.testKey,
name: f.title || 'REASON TO RUN 2.0 報名費用',
email: f.Email || '',
currency: f.currency || 'twd',
amount: f.amount || 0,
allowRememberMe: false,
image: f.logoImg || this.logoImg,
locale: 'auto',
token: function (token) {
f.tokenId = token.id;
f.email = token.email;
f.callback(f);
}
});
},
changeCard: function (f) {
this.changeHandler(f).open();
},
pay: function (f) {
this.payHandler(f).open();
},
SendMsg: function (uid) {
var message = {};
message.action = "noticeMember";
message.code = 1;
message.uid = uid;
message.msg = "<div>已有用戶購買你的相片!</div>";
socketApi.sendMessage(message);
}
}

注:如有遗漏评论区诶特,或者加群联系。

二、上后台代码,这里只上部分代码。(用到的,避免混淆)

非常的简单

 Stripe.StripeConfiguration.SetApiKey(ConfigurationManager.AppSettings["pk_liveSecretKey"]);
var options = new Stripe.ChargeCreateOptions
{
Amount = Convert.ToInt64(GetMoney(codeModel, money, thisCart)) * 100,
Currency = CurrencyCode.HKD.ToString().ToLower(),
SourceId = Paymodel.stripeToken,
Description = "支付尋寶網-網站-" + Paymodel.Description,
ReceiptEmail = Paymodel.stripeEmail,
};
var service = new Stripe.ChargeService();
Stripe.Charge charge = service.Create(options); //var options2 = new PayoutCreateOptions
//{
// Amount = Convert.ToInt64(model.PayAmount),
// Currency = "usd",
//};
//var service2 = new PayoutService();
//Payout payout = service2.Create(options2);
return new ChargeModel
{
SourceId = charge.Source?.Id,
Status = charge.Status,
payEmail = charge.ReceiptEmail,
Id = charge.Id,
tranPayId = charge.BalanceTransactionId
};

  结果得到的是 success 就是支付成功了,这里只做了对接支付,没对接根据流水去查询。

三、支付流程就是点击按钮就调用myStripe.pay函数去生成token,然后会调用里面的callback方法进行回调在进入到你的后台代码(此处自身理解,有错请指点)

配置文件代码。Web.config

 <add key="pk_liveConfig" value="pk_test_knG4yR1351351234reeYTnQVHS" />
<add key="pk_liveSecretKey" value="sk_test_UTasdasasgascH26dERrCqyfI" />

欢迎加入群聊,期待更多的小伙伴加入,本群刚创立初期。人少,楼主想结合一下所有人的力量做一个1.0版本的快速开发框架, 比如ABP类似的。

Stripe支付对接的更多相关文章

  1. Razorpay支付对接,JAVA对接篇

    Razorpay 作为印度本土的一家支付公司,类似中国的支付宝 微信,本篇记录一下对接印度第三方支付公司 准备工作: 注册公司 申请Razorpay账号 申请正式环境 Razorpay工作台: 获取k ...

  2. Paypal标准支付对接

    提醒一下,题主是在快速标准支付做到一半的时候换成了标准支付,所以该文档的快速支付大家做个参考就可以了. 一.两种支付方式 标准支付 优点:纯前端对接,简单方便,适用于非技术开发人员.个人即可用,不用花 ...

  3. C#微信支付对接

    c#版在pc端发起微信扫码支付   主要代码: /** * 生成直接支付url,支付url有效期为2小时,模式二 * @param productId 商品ID * @return 模式二URL */ ...

  4. ecshop移动端支付宝支付对接

    初始页,提交基本信息到api页面, <?php /* * * 功能:支付宝手机网站支付接口接口调试入口页面 * 版本:3.4 * 修改日期:2016-03-08 * 说明: * 以下代码只是为了 ...

  5. PayPal支付对接

    开发时间:2019-04-30 我的目标:在我们公司的海外网站上,接入PayPal支付,美国用户在线完成付款. 准备: (1)准备:公司注册信息(执照,注册号,法人等),法人信息(身份证,住址等) ( ...

  6. 支付-stripe

    国外三大支付paypal,braintree,stripe,有兴趣可以去了解一下他们的区别. 支付宝和paypal基本只需要发送charge信息请求交给后端做就ok了,那么stripe前端也只需要收集 ...

  7. JavaWEB后端支付银联,支付宝,微信对接

    注:本文来源于:<  JavaWEB后端支付银联,支付宝,微信对接  > JavaWEB后端支付银联,支付宝,微信对接 标签(空格分隔): java 项目概述 最近项目需要后端打通支付,所 ...

  8. 微信公众号支付(JSAPI)对接备忘

    0 说明 本文里说的微信公众号支付对接指的是对接第三方支付平台的微信公众号支付接口. 非微信支付官方文档里的公众号支付开发者文档那样的对接.不过,毕竟腾讯会把一部分渠道放给银行或有支付牌照的支付机构, ...

  9. 对接微信支付使用HMAC-SHA256使用签名算法实现方式

    最近做微信押金支付对接,很多坑,心累!这里提醒一下各位: 首先,确保自己商户号进了白名单,没有需要联系客服,否则接口是调不通的,会一直提示参数错误 其次,确保接口文档是最新的,最好去官网去看,否则可能 ...

随机推荐

  1. 支付宝防并发方案之"一锁二判三更新"

    每年支付宝在双11和双12的活动中,都展示了绝佳的技术能力.这个能力不但体现在处理高TPS量的访问,更体现在几乎不会出错,不会出现重复支付的情况,那这个是怎么做到的呢? 诚然,为了实现在高并发下仍不会 ...

  2. CI框架下 新浪微博登录接口完整版

    https://www.cnblogs.com/yznyzcw/p/3756622.html#top 说明:本贴只适合CI框架.功能实现:登录接口跳转链接成功,获取用户信息(包括最重要的u_id)成功 ...

  3. Laravel5.2 发送邮件(smtp方式最简单的讲解!)-邮件部分

    https://blog.csdn.net/wulove52/article/details/71172842 Laravel集成了SwiftMailer库进行邮件发送,邮件配置文件位于config/ ...

  4. thinkphp 本地配置手机移动端,在pc端访问手机端

  5. Android Studio(一):介绍、安装、配置

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  6. Pytorch: 命名实体识别: BertForTokenClassification/pytorch-crf

    文章目录基本介绍BertForTokenClassificationpytorch-crf实验项目参考基本介绍命名实体识别:命名实体识别任务是NLP中的一个基础任务.主要是从一句话中识别出命名实体.比 ...

  7. os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" os.environ["CUDA_VISIBLE_DEVICES"] = "0"

    os.environ[“CUDA_DEVICE_ORDER”] = “PCI_BUS_ID” # 按照PCI_BUS_ID顺序从0开始排列GPU设备 os.environ[“CUDA_VISIBLE_ ...

  8. CSS中的“>”是什么意思

    #quickSummary p{color:red;} #quickSummary >p+p{color:red;} #quickSummary>p+p+p{color:inherit;} ...

  9. H3C 多路径网络中环路产生过程(3)

  10. HeidiSQL工具导出导入MySQL数据

    有时候,为了数据方便导出导入SQL,我们可以借助一定的工具,方便我们队数据库的移植,可以达到事半功倍的效果.在这里,就给大家简单的介绍一款能方便导出或者导入MySQL的数据. ①首先,选择你要导出的数 ...