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

这个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. STS Eclipse IDEA 指定启动JDK版本

    使用场景: 开发人员在自己的机器上可能装了多个版本的JDK,但是在环境变量中只能配置一个 JAVA_HOME ,so你的IDEA Eclipse 可能因为你在 JAVA_HOME 配置JDK1.8 以 ...

  2. H3C用Telnet登录

  3. Oracle - @和@@、&与&& 的区别

    2018-01-15 15:36:17 袭冷 阅读数 4783更多 分类专栏: DB   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接 ...

  4. Python:pip 和pip3的区别

    前言 装完python3后发现库里面既有pip也有pip3,不知道它们的区别,因此特意去了解了一下. 解释 先搜索了一下看到了如下的解释, 安装了python3之后,库里面既会有pip3也会有pip ...

  5. 如何将为Android开发的AIR应用转移到SD卡

    如果你想用户能够将为Android开发的AIR应用转移到SD卡上,所需要做的是在你的应用程序描述符中修改一下.如果你想你的应用程序默认安装到内置存储器中,但是允许用户把它转移到SD卡上,设置andro ...

  6. Python--day65--模板语言之变量相关语法

    Django的模板语言: 1.目前已经学过的模板语言: 2,模板语言总结: 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Djan ...

  7. PyTorch里面的torch.nn.Parameter()

    在刷官方Tutorial的时候发现了一个用法self.v = torch.nn.Parameter(torch.FloatTensor(hidden_size)),看了官方教程里面的解释也是云里雾里, ...

  8. Java内存分析工具--IDEA的JProfiler和JMeter插件

    一.JProfiler简介 JProfiler 是一个商业授权的Java剖析工具,由EJ技术有限公司,针对的Java EE和Java SE应用程序开发的.它把CPU.执行绪和内存的剖析组合在一个强大的 ...

  9. P1000 A+B Problem

    题目描述 给定两个整数\(a,b\),输出它们的和. 输入格式 输入两个整数,表示\(a,b(1 \le a,b \le 10^9)\). 输出格式 输出一个整数,表示答案. 样例输入 20 30 样 ...

  10. 【75.28%】【codeforces 764B】Decoding

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...