1 、本卡为电子礼品卡,可在百胜旗下各品牌(肯德基、必胜客、必胜客宅急送、东方既白、小肥羊)已安装百胜卡扫描机的餐厅使用。 具体可使用门店可查询: http://card.yum.com.cn 。
2 、电子卡必须绑定百胜账号之后才能使用,方法如下: 关注微信公众号“百胜心意美食卡”后,进入“我的账户”-> 打开“ ”-> 输入手机上的电子卡卡号及密码进行注册和绑定操作。 将电子卡和百胜账号绑定之后,可以点击微信公众号里的“付款码”-> 刷新之后将显示的条形码在收银机扫描设备上扫描完成付款。
3 、本电子卡有效期为3 年。
4 、本电子卡不记名、不挂失、不兑现,请妥善保管卡密,卡密一经售出,非卡密本身质量问题,概不退换。
5 、本电子卡消费视同现金,可与店内其他优惠一起使用。
6 、电子卡可转赠他人,操作方法如下:
登入手机微信公众号“百胜心意美食卡”-> “我的账户”-> “赠送亲友”-> 选择赠送金额-> 填写“接收人信息”-> 提交订单即可。
1 、京东E 卡有效期为36 个月,京东E 卡不记名、不挂失、不计息、不兑现、不可修改密码,请妥善保管卡号及密码。
2 、京东E 卡仅能购买京东自营商品(“自营商品”指在商品详情页明确标识为“商品从京东库房出库,由京东安排配送,且商品发票由京东提供”的商品,出版物和第三方卖家商品不在此内。)
3 、发生退货时,京东E 卡支付部分自动退回卡内。
4 、卡密一经售出,非卡密本身质量问题,概不退换。
5 、详细情况请致电客服热线:(0512) 6289 1011 。
1 、购买1 号店礼品卡需同意并遵守《1 号店礼品卡章程》及《1 号店礼品卡购卡协议》。
2 、礼品卡可购买1 号店网站www.yhd.com 由纽海信息技术(上海)有限公司销售即1 号店自营的商品(入驻商家,1 号团,虚拟商品等除外)。
3 、礼品卡不记名、不挂失、不兑换现金。购物金额不足部分以现金补足。
4 、礼品卡支付部分不开具发票,购买3c 类商品开具0 元发票。
5 、用礼品卡支付购买实物商品发生退货时,礼品卡支付部分退回卡内,不予兑现。
6 、礼品卡自生效之日起不少于三年内有效。
7 、卡密一经售出,非卡密本身质量问题,概不退换。
8 、详细情况请致电客服热线:(0512) 6289 1011 。
1 、礼品卡有效期自卡生效之日起三年内有效,请务必在有效期内使用,过期卡将失效;
2 、成功激活后,仅能在绑定账户使用,暂不支持跨账户使用;
3 、礼品卡不支持购买国美商品、礼品卡、彩票、话费充值及生活服务类团购商品;
4 、礼品卡不能与礼券同时使用;
5 、礼品卡可合并使用,支付金额不足部分可用其他支付方式支付不足;
6 、礼品卡支付的部分不开具发票;
7 、订单退货、缺货,礼品卡支付金额将退回卡内;
8 、礼品卡不记名、不挂失、不兑现现金、不退卡;
9 、使用礼品卡购买某些品类商品时会加收部分手续费,请以届时当当网相关规定和结算页面为准;
10 、当当网保留不时修改礼品卡使用规则、条款和使用条件的权利,所有规则、条款和条件将在法律允许的最大限度内适用;
11 、卡密一经售出,非卡密本身质量问题,概不退换。
12 、详细情况请致电客服热线: (0512) 6289 1011 。
1 、携程发行的礼品卡内预付价值一元等值于一元人民币。
2 、携程礼品卡(任我游)可预订预付费类酒店、惠选酒店、旅游度假产品、团购产品(注:自由机+ 酒产品、门票类产品、代驾租车产品及银行专享类旅游度假产品等暂不支持礼品卡支付)。
3 、 已领用至携程会员账户内的携程礼品卡可以分次消费,单个携程会员账户内的携程礼品卡金额在有效期内不限额、不限人次、不限次数使用。
4 、 在预订一项产品时,多张携程礼品卡可领用到同一个携程会员账户内合并金额使用,不同携程会员账户的金额不能合并使用。
5 、 携程礼品卡一经售出,使用范围不可改变,不合并、不挂失、不能兑换现金。
6 、 用于销售的携程礼品卡自生效之日起不少于三年内有效。携程礼品卡应该在有效期内使用。
7 、卡密一经售出,非卡密本身质量问题,概不退换。
8 、详细情况请致电客服热线: (0512) 6289 1011 。
1 、携程发行的礼品卡内预付价值一元等值于一元人民币。
2 、携程礼品卡(任我行)可预订预付费类酒店、惠选酒店、机票、旅游度假产品、火车票产品、团购产品(注:自由机+ 酒产品、部分门票类产品、代驾租车产品及银行专享类旅游度假产品等暂不支持礼品卡支付)。
3 、已领用至携程会员账户内的携程礼品卡可以分次消费,单个携程会员账户内的携程礼品卡金额在有效期内不限额、不限人次、不限次数使用。
4 、 在预订一项产品时,多张携程礼品卡可领用到同一个携程会员账户内合并金额使用,不同携程会员账户的金额不能合并使用。
5 、 携程礼品卡一经售出,使用范围不可改变,不合并、不挂失、不能兑换现金。
6 、 用于销售的携程礼品卡自生效之日起不少于三年内有效。携程礼品卡应该在有效期内使用。
7 、卡密一经售出,非卡密本身质量问题,概不退换。
8 、详细情况请致电客服热线: (0512) 6289 1011 。
1. 苏宁易购电子礼品卡仅可在苏宁易购网上商城使用(非自营商品、合约计划、充值缴费、机票、酒店、彩票、团购等虚拟产品及金银类投资商品不能使用);
2. 电子礼品卡有效期为3 年,可以多次使用,直到卡内金额用完截止;
3. 电子礼品卡在苏宁易购首次使用或充值绑定后,将只能被绑定账户使用,不能跨账户使用;
4. 网上订单发生退货时,礼品卡金额自动退还到卡内。
5. 持卡人在苏宁电器门店或苏宁易购网上商城持卡消费时,在购买商品时礼品卡支付部分不再开具发票。
6. 卡密一经售出,非卡密本身质量问题,概不退换。
7. 详细情况请致电客服热线:(0512) 6289 1011 。
1. 唯品卡可用于在唯品会官网(www.vip.com) 的所有订单,暂不支持移动端使用。
2. 唯品卡可以抵扣运费,一张唯品卡可以多次使用,如果当次消费金额超过唯品卡余额,不足部分顾客可使用其他支付方式支付。
3. 唯品卡需在有效期内激活,激活之后3 年有效,请在有效期内使用,过期作废。
4. 唯品卡不可以和优惠券或礼品卡一起使用。使用唯品卡下单时,唯品卡支付部分不再开发票。
5. 卡密一经售出,非卡密本身质量问题,概不退换。
6. 唯品卡一旦激活,只能在激活账户使用,不能跨账户使用。
7. 详细情况请致电客服热线:(0512) 6289 1011 。
8. 唯品卡激活方式:PC 登陆唯品会,进入“我的账户”—“卡券管理”—选择唯品卡输入激活码(即卡密)。
1. 顾客凭此卡可在全国(不包括港澳台地区)所有Old Navy/ 盖璞商店以及oldnavy.cn 和gap.cn 网上购买商品(礼品卡除外)。结算时将直接扣除卡内余额至零为止。超出卡内金额部分请自行付款。
2. 如需退还使用本卡购买之商品,退款将直接存入卡内,恕不退还现金。
3. 本卡不记名、不提现、不透支、不计息、不找零。此卡一经售出,恕不退卡。如有任何遗失,恕不补发或退款。
4. 发票已于购买本卡时开具。凭卡购物时,恕不重开发票。
5. 本卡有效期为购买日起3 年。
6. 顾客可使用任一盖璞商店指定终端或通过oldnavy.cn 或gap.cn 网上查询余额。
7. 详细情况请致电客服热线:(0512) 6289 1011 。
1 、红券可用于购买国美在线自营商品和第三方平台商品;
2 、红券可全场通用(黄金、汽车除外),单张订单仅可使用1 张红券;
3 、使用红券支付时,订单金额总额须大于使用的红券总面值,即使用红券总金额必须小于订单总金额,红券最大可使用金额= 订单总额- (商品数×1 元),例如:订单中含5 件商品,总金额为100 元,则最多可使用红券金额为:100- (5 ×1 )=95 元;差额部分需您选择其他支付方式来支付;
4 、团购、抢购商品,目前支持红券支付。
5 、用于销售的国美红券自生效之日起一年内有效,激活到账户内的过期后可以延期。
6 、卡密一经售出,非卡密本身质量问题,概不退换。
7 、详细情况请致电客服热线:(0512) 6289 1011 。
优酷会员是优酷向广大用户提供的增值尊贵服务,在免费享受" 快"" 全"" 清" 的观看体验之外,优酷会员可享受更多的增值功能和特权,包含点播节目5 折优惠、全站视频免广告、上万小时付费节目免费看、会员专属尊贵标识和各种线上线下服务等。优酷会员卡- 月卡,自激活之日起可使用1 个月。
1 、登陆/ 注册优酷账号;第二步:打开http://vip.youku.com 点击“我的账户- 会员卡激活”,输入会员卡密码和验证码,即完成激活。
2 、进入“会员中心”,点击“开通会员”;
3 、点击“激活卡密”,输入卡密和验证码,即完成激活。卡密一经售出,非卡密本身质量问题,概不退换。
4 、详细情况请致电客服热线: (0512) 6289 1011 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import org.apache.commons.codec.binary.Base64; public class Encrypt { public static void main(String[] args) { //加密后的内容 String s = "QPBNbRNDohmlvyzLSgCy1iwo+juaDACo" ; //密码,用户名前8位,不足补0 String password = "testtest" ; //打印解密后的结果 System.out.println(decrypt(s, password)); } /** * 解密 * @param srcMsg 密文 * @param password 密码 * @return 解密后的明文 */ public static String decrypt(String srcMsg,String password){ byte [] bb = Base64.decodeBase64(srcMsg.getBytes()); try { // DES算法要求有一个可信任的随机数源 SecureRandom random = new SecureRandom(); // 创建一个DESKeySpec对象 DESKeySpec desKey = new DESKeySpec(password.getBytes()); // 创建一个密匙工厂 SecretKeyFactory keyFactory = SecretKeyFactory.getInstance( "DES" ); // 将DESKeySpec对象转换成SecretKey对象 SecretKey securekey = keyFactory.generateSecret(desKey); // Cipher对象实际完成解密操作 Cipher cipher = Cipher.getInstance( "DES" ); // 用密匙初始化Cipher对象 cipher.init(Cipher.DECRYPT_MODE, securekey, random); // 真正开始解密操作 byte [] decryResult = cipher.doFinal(bb); return new String (decryResult); } catch (Exception e) { e.printStackTrace(); } return null ; } /** * 加密 * @param srcMsg 待加密字符串 * @param password 密码 * @return 加密后的密文 */ public static String encrypt(String srcMsg, String password){ try { SecureRandom random = new SecureRandom(); DESKeySpec desKey = new DESKeySpec(password.getBytes()); // 创建一个密匙工厂,然后用它把DESKeySpec转换成 SecretKeyFactory keyFactory = SecretKeyFactory.getInstance( "DES" ); SecretKey securekey = keyFactory.generateSecret(desKey); // Cipher对象实际完成加密操作 Cipher cipher = Cipher.getInstance( "DES" ); // 用密匙初始化Cipher对象 cipher.init(Cipher.ENCRYPT_MODE, securekey, random); // 现在,获取数据并加密 // 正式执行加密操作 byte [] result =cipher.doFinal(srcMsg.getBytes()); //Base64编码 byte [] resultBase = Base64.encodeBase64(result, true ); return new String(resultBase); } catch (Throwable e) { e.printStackTrace(); } return null ; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | <?php /** * 卡信息的加密和解密 * 加密解密时使用的$key为:substr(str_pad(您的用户名, 8, '0'), 0, 8),即您的用户名(注意是用户名,不是openid)的前8位(不足8位则以0补齐) */ class encrypt { /** * 加密 * @param string $str 待加密的字符串 * @param string $key 密码 * @return string */ public function encode( $str , $key ) { $key = substr ( $key , 0, 8); $iv = $key ; $size = mcrypt_get_block_size(MCRYPT_DES, MCRYPT_MODE_ECB); $str = $this ->pkcs5Pad( $str , $size ); $s = mcrypt_encrypt(MCRYPT_DES, $key , $str , MCRYPT_MODE_ECB, $iv ); return base64_encode ( $s ); } /** * 解密 * @param string $str 待解密的字符串 * @param string $key 密码 * @return string */ public function decode( $str , $key ) { $iv = $key ; $str = base64_decode ( $str ); $str = mcrypt_decrypt(MCRYPT_DES, $key , $str , MCRYPT_MODE_ECB, $iv ); $str = $this ->pkcs5Unpad( $str ); return $str ; } public function pkcs5Pad( $text , $blocksize ) { $pad = $blocksize - ( strlen ( $text ) % $blocksize ); return $text . str_repeat ( chr ( $pad ), $pad ); } public function pkcs5Unpad( $text ) { $pad = ord( $text { strlen ( $text ) - 1}); if ( $pad > strlen ( $text )) return false; if ( strspn ( $text , chr ( $pad ), strlen ( $text ) - $pad ) != $pad ) return false; return substr ( $text , 0, -1 * $pad ); } /** * 加密(可用于PHP7) * @param string $str 待加密的字符串 * @param string $key 密码 * @return string */ public function encode7( $str , $key ) { $encrypted = openssl_encrypt( $str , 'DES-ECB' , $key , OPENSSL_RAW_DATA); return base64_encode ( $encrypted ); } /** * 解密(可用于PHP7) * @param string $str 待解密的字符串 * @param string $key 密码 * @return string */ public function decode7( $str , $key ) { $encrypted = base64_decode ( $str ); $decrypted = openssl_decrypt( $encrypted , 'DES-ECB' , $key , OPENSSL_RAW_DATA); return $decrypted ; } } /* 测试加密和解密 */ $encrypt = new encrypt(); var_dump( $encrypt ->encode( '1' , '12345678' )); var_dump( $encrypt ->encode7( '1' , '12345678' )); echo '<hr/>' ; var_dump( $encrypt ->decode( 'g6AtgJul6q0=' , '12345678' )); var_dump( $encrypt ->decode7( 'g6AtgJul6q0=' , '12345678' )); |
天聚人合账号:xxxxx
推送地址:http://www.example.com/xxx
推送形式:post
推送参数内容格式(普通参数键值对,非json):
名称 | 类型 | 说明 | ||
sporder_id | string | 天聚人合订单号 | ||
orderid | string | 用户自定义的单号 | ||
sta | int | 充值状态1:成功 9:失败 | ||
sign | string | 校验值,md5(appkey+sporder_id+orderid) 32位小写,用于校验请求合法性 | ||
err_msg | string | 状态描述信息(暂只支持油卡业务) | ||
success_time | string | 成功时间,只在订单状态成功时有值 |
处理成功请返回:success 或 任意字符串
重试机制:天聚人合在请求回调地址时,如果无任何内容返回或无响应,会重新发起最多3次,间隔3s左右
本回调推送内容格式适用于话费充值、油卡充值、流量充值等增值服务,如果需要状态回调的用户,如接口其他已经调试完毕,请将账号和回调地址发给在线客服,我们将回调地址配置线上。
PHP接收异步通知(回调)参考代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php /** * 接受话费\加油卡\流量充值业务 异步通知参数 参考示例 */ $appkey = "************************" ; //您申请的数据的APIKey $sporder_id = addslashes ( $_POST [ 'sporder_id' ]); //天聚人合订单号 $orderid = addslashes ( $_POST [ 'orderid' ]); //商户的单号 $sta = addslashes ( $_POST [ 'sta' ]); //充值状态 $success_time = addslashes ( $_POST [ 'success_time' ]); //成功时间,只在订单状态成功时有值 $sign = addslashes ( $_POST [ 'sign' ]); //校验值 $local_sign = md5( $appkey . $sporder_id . $orderid ); //本地sign校验值 if ( $local_sign == $sign ) { if ( $sta == '1' ) { //充值成功,根据自身业务逻辑进行后续处理 } elseif ( $sta == '9' ) { //充值失败,根据自身业务逻辑进行后续处理 } } |
JAVA接收异步通知(回调)参考代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | /***************servlet接收示例**************************/ @WebServlet ( "/callerBack" ) public class CallerBackDemo extends HttpServlet { public static final long serialVersionUID =1L; String appkey = "" ; //您 申请的数据的APIKEY @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String sporder_id = req.getParameter( "sporder_id" ); //天聚人合订单号 String orderid = req.getParameter( "orderid " ); //商家订单号 String sta = req.getParameter( "sta " ); //充值状态 String sign = req.getParameter( "sign" ); //校验值 String success_time = req.getParameter( "success_time" ); //成功时间,只在订单状态成功时有值 String local_sign = MD5Util.strToMD5(appkey+sporder_id+orderid); //本地sign校验值 if (sign ==local_sign){ if (sta== "1" ){ //充值成功,根据自身业务逻辑进行后续处理 } else if (sta== "9" ){ //充值失败,根据自身业务逻辑进行后续处理 } } } /***************Spring接收示例**************************/ @RequestMapping (value= "/callerBack" ,method=RequestMethod.POST) public void callerBack( @RequestParam ( "sporder_id" ) String sporder_id, @RequestParam ( "orderid" ) String orderid, @RequestParam ( "sta" ) String sta, @RequestParam ( "success_time" ) String success_time, @RequestParam ( "sign" ) String sign ){ String local_sign = MD5Util.strToMD5(appkey+sporder_id+orderid); //本地sign校验值 if (sign ==local_sign){ if (sta== "1" ){ //充值成功,根据自身业务逻辑进行后续处理 } else if (sta== "9" ){ //充值失败,根据自身业务逻辑进行后续处理 } } } |
请求参数说明:
名称 | 必填 | 类型 | 说明 | |
---|---|---|---|---|
provinceid | 否 | int | 省份Id,目前可选:11北京、12天津、13河北、14山西、15内蒙古、21辽宁、22吉林、23黑龙江、31上海、32江苏、33浙江、34安徽、35福建、36江西、37山东、41河南、42湖北、43湖南、44广东、45广西、46海南、50重庆、51四川、52贵州、53云南、54西藏、61陕西、62甘肃、63青海、64宁夏、65新疆 | |
operatorid | 否 | int | 运营商Id,目前可选:25电信、27移动、31联通 | |
amount | 否 | double | 面值,目前可选:1.00、2.00、5.00、10.00、20.00、30.00、50.00、100.00、200.00、300.00、500.00 | |
key | 是 | string | 在个人中心->我的数据,接口名称上方查看 |
返回参数说明:
名称 | 类型 | 说明 | |
---|---|---|---|
error_code | int | 返回码 | |
reason | string | 返回说明 | |
result | object | 返回结果集 |
JSON返回示例:
{
"error_code": 0,
"reason": "查询成功",
"result": {
"productStateList": [{
"province_id": 11, /*省份Id*/,
"operator_id": 25, /*运营商Id*/,
"denomination": [100.00,200.00], /*维护的面值集合*/,
"all_matain": 2 /* 0无面值下架,1全面值下架 2有部分面值下架*/
}]
}
}