code: def create_js_pay_package(self, **package):
          
          assert self.pay_partner_id, "PAY_PARTNER_ID IS EMPTY"
          assert self.pay_partner_key, "PAY_PARTNER_KEY IS EMPTY"
  
          package.update({
              'partner': self.pay_partner_id,
          })
  
          package.setdefault('bank_type', 'WX')
          package.setdefault('fee_type', '1')
          package.setdefault('input_charset', 'UTF-8')
  
          params = package.items()
          params.sort()
  
          sign = md5(
              '&'.join(
                  [
                      "%s=%s" % (str(p[0]), str(p[1]))
                      for p in params + [('key', self.pay_partner_key)]
                  ]
              )
          ).hexdigest().upper()
  
          return urlencode(params + [('sign', sign)])
docs: 签名 pay package 需要的参数
          详情请参考 支付开发文档
  
          :param package: 需要签名的的参数
          :return: 可以使用的packagestr