Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла API версии V3)
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла API версии V3)

Бизнес-сценарий:

Когда компания расширяет свой бизнес, ей необходимо открыть веб-сайт, чтобы расширить сферу своего бизнеса и увеличить каналы дохода.

Например:

  1. Компании необходимо управлять своими интеллектуальными службами искусственного интеллекта в Интернете.
  2. Интернет-магазин компании-производителя аппаратного оборудования.

Примечание. Если вы реализуете другие бизнес-проекты, такие как торговые платформы или игры, потребуются другие квалификационные документы. Пожалуйста, ознакомьтесь с соответствующими законами и правилами, которые здесь не описаны.

Введение в связанные понятия:

Что такое подача

Согласно Постановлению Государственного Совета292Число《Меры по администрированию информационных услуг Интернета》и《Меры по регистрации и управлению некоммерческими информационными Интернет-услугами》Регулирование,Государство внедряет систему лицензирования коммерческих информационных услуг в Интернете,Внедрить систему регистрации некоммерческих информационных услуг Интернета. Неполучение лицензии или невыполнение процедур подачи документов,Запрещено заниматься информационными услугами в Интернете,В противном случае это незаконно.

Таким образом, все веб-сайты, предоставляющие услуги на территории материкового Китая, должны сначала пройти регистрацию ICP. Доступ можно открыть только после успешной регистрации и получения регистрационного номера ICP, выданного Администрацией связи.

Оплата WeChat H5

Платеж H5 означает, что продавец отображает товары или услуги на мобильной веб-странице за пределами клиента WeChat. Когда пользователь подтверждает использование платежа WeChat на вышеупомянутой странице, продавец инициирует эту услугу и вызывает клиент WeChat для оплаты. В основном он используется в сценариях, когда мобильный браузер с сенсорным экраном запрашивает оплату WeChat. Платеж WeChat можно легко вызвать из внешнего браузера.

Предварительная подготовка:

1. Используя предприятие в качестве основного органа, зарегистрируйте учетную запись Tencent Cloud;

2. Приобретите пакет ресурсов для сетевой регистрации (сама по себе регистрация в Tencent Cloud бесплатна, но вам необходимо приобрести соответствующий пакет ресурсов)

Типы пакетов ресурсов, которые можно выбрать: https://cloud.tencent.com/document/product/243/18793;

В этой статье в качестве объяснения используется приобретенный пакет ресурсов облачных функций.

3. Откройте платежный торговый счет WeChat;

Подробные шаги:

1. Регистрация на сайте

1.1 Проверка информации о субъекте регистрации

Сначала войдите в свою учетную запись Tencent Cloud, найдите «Регистрация веб-сайта» в консоли и войдите на страницу «Моя регистрация»:

Правдиво заполните информацию о теме
Правдиво заполните информацию о теме

Вещи, которые необходимо заполнить на этом этапе, относительно просты. Просто заполните их в соответствии с реальной ситуацией в компании. В течение этого периода вам необходимо подготовить лицензию на ведение бизнеса компании и фотографию удостоверения личности ответственного лица. . После заполнения Tencent Cloud сначала проверит его, что займет около 7 рабочих дней.

1.2 Заполните данные регистрационного сайта

После завершения рассмотрения предмета можно переходить к следующему шагу:

Нажмите «Добавить сайт»
Нажмите «Добавить сайт»

На странице «Моя регистрация» нажмите кнопку «Добавить веб-сайт», чтобы перейти на следующую страницу:

После подтверждения информации о предмете вы попадете на страницу ниже:

Заполните информацию о сайте
Заполните информацию о сайте

Заполните информацию о зарегистрированном доменном имени:

Если информация о доменном имени не была зарегистрирована, перейдите в консоль и найдите «Регистрация доменного имени», чтобы продолжить.

Официальное подробное объяснение регистрации доменного имени: https://cloud.tencent.com/document/product/242/9595.

В разделе облачных ресурсов выберите пакет бессерверных ресурсов облачных функций, который мы приобрели ранее.

Примечание. IP-адрес будет заполнен автоматически, и его не нужно менять.

После заполнения нажмите «Проверить сейчас», и появится следующее диалоговое окно:

Нажмите Далее
Нажмите Далее

Затем войдите на следующую страницу:

Страница заполнения информации о сайте
Страница заполнения информации о сайте

На этой странице необходимо ввести название веб-сайта, например «Taobao» и «Baidu», просто введите имя по мере необходимости.

Информация о примечании также должна быть заполнена правдиво.,Например:Показать профиль компании XX,и веб-сайт с подробной информацией о производимом и продаваемом оборудовании.,И вы можете заказать его товары или услуги онлайн.

Выберите «Повторно использовать шаблон ответственного лица» ниже, чтобы избежать повторного заполнения информации.

Дополнительные примечания к предварительному одобрению:

Типовые условия и ограничения предварительного одобрения

Часто задаваемые вопросы

  • Какие веб-сайты требуют предварительного одобрения?
  • Ответ: Здравствуйте,В соответствии с положениями статьи 5 «Профессора Китайской Народной Республики» и положениями оригинального «Приказа № 33 Министерства информационной индустрии»,Планирует заниматься информационными услугами Интернета, такими как новости, издательское дело, лекарства и медицинское оборудование, культура, радио, кино- и телепрограммы, онлайн-игры и т. д.,Требуется предварительное одобрение,Только после этого можно будет пройти регистрацию.
  • Как подать заявку на предварительное одобрение?
  • Ответ: Для обработки документов предварительного одобрения предприятиям и учреждениям необходимо активно обращаться в соответствующие ведомства. Физические лица не могут подавать заявки на получение документов предварительного одобрения. Соответствующие подразделения и предварительное одобрение включают следующие документы.

Примечание. Если ваша заявка предполагает предварительное одобрение,Пожалуйста, обратитесь в отдел утверждения и соответствующие документы утверждения в соответствии с соответствующей категорией предварительного утверждения.,Если вы не можете или не хотите подавать заявку на получение соответствующих документов предварительного одобрения,Вы можете обратиться кТребования администрации провинции , можно ли изменить сферу деятельности или предоставить для подачи соответствующее письмо-обязательство.

Подробную информацию см.:Введение в предварительное одобрение

1.3 Загрузка дополнительных материалов

Загрузите дополнительные материалыстраница
Загрузите дополнительные материалыстраница

Если здесь нет особых требований, вы можете пока оставить это поле пустым и сразу перейти к следующему шагу:

Если есть специальные материалы, которые необходимо отправить, но они не отправлены, группа предварительной проверки Tencent Cloud отклонит заявку, а затем просто отправит ее снова.

1.4 Предварительный просмотр информации и отправка на регистрацию

Отправьте после подтверждения информации
Отправьте после подтверждения информации

На данный момент весь процесс регистрации нашего сайта завершен, и мы просто ждем одобрения от соответствующих отделов управления.

Время утверждения будет варьироваться в зависимости от характера региона и займет около 20 дней.

2. Открытая оплата WeChat H5

2.1 Отсканируйте QR-код, чтобы войти в торговую платформу WeChat и перейти на страницу центра продуктов:

Страница центра продуктов
Страница центра продуктов

Выберите платеж H5, выберите подачу заявки на активацию после входа, заполните форму и необходимую информацию и дождитесь одобрения.

Когда он не активирован, будут отображаться слова «Подать заявку на активацию».
Когда он не активирован, будут отображаться слова «Подать заявку на активацию».

Процесс одобрения заявки здесь занимает много времени, пожалуйста, наберитесь терпения.

За этот период мы можем сделать следующие приготовления:

Подробную информацию можно найти в официальном документе: Подготовка к доступу к оплате H5 (режим прямого подключения).

https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_6_1.shtml

2.2 Введите доменное имя для оплаты H5

Введите здесь доменное имя, на которое вы подали заявку ранее.
Введите здесь доменное имя, на которое вы подали заявку ранее.

2.3 Вызов платежа

Создайте новую облачную функцию следующим образом:

Примечание. Здесь облачная функция должна создать триггер шлюза API и связать применяемое доменное имя:

Подробную настройку можно найти в официальном документе: https://cloud.tencent.com/document/product/583/12513.

Здесь используется плагин: wechatpay-axios-plugin

Документация плагина:https://github.com/TheNorthMemory/wechatpay-axios-plugin

Получение таких файлов, как ключ сертификата платформы и ключ сертификата продавца, также подробно описано в документе и не будет здесь повторяться.

Язык кода:javascript
копировать

//APIV3 платеж
const { Wechatpay } = require('wechatpay-axios-plugin');
const { readFileSync } = require('fs');
// Номер продавца, поддерживает «обычных продавцов/специальных продавцов» или «продавцов поставщиков услуг».
const merchantId = ''; //номер продавца
const appid = '' // APPID
// «Серийный номер сертификата» «Сертификата API продавца», Посмотреть через веб-страницу
const merchantCertificateSerial = '';
// Загрузите «Закрытый ключ Merchant API» из локального файла.
const merchantPrivateKeyFilePath = '/key/apiclient_key.pem';
const merchantPrivateKeyInstance = readFileSync(merchantPrivateKeyFilePath);
// 「WeChat «Серийный номер сертификата» «Сертификата платежной платформы», после загрузки загрузчик предложит ввести поле серийного номера «серийный».
const platformCertificateSerial = '';

// Загрузите «WeChat» из локального файла Сертификат платежной платформы», используемый для проверки WeChat. Подпись тела ответа на запрос платежа
const platformCertificateFilePath = '/key/wechatpay_573AB99XXXXXXXXXXXXXX.pem';
const platformCertificateInstance = readFileSync(platformCertificateFilePath);

// Создать экземпляр платежа
const wxpay = new Wechatpay({
  mchid: merchantId,
  serial: merchantCertificateSerial,
  privateKey: merchantPrivateKeyInstance,
  certs: { [platformCertificateSerial]: platformCertificateInstance, },
});

// Облачная Функция ввода функции
exports.main = async (event, context) => {
  wxpay.v3.pay.transactions.h5
  .post({
    appid:appid,
    mchid:merchantId,
    описание:"Вот запрос Шапку страницы после оплаты готовит продавец",
    out_trade_no:"AABBCC"+Date.now().toString(), //Это номер заказа продавца, самодельный
    notify_url:"XXXXX",// Это обратный звонок с уведомлением о платеже, это очень важно, не заполняйте его неправильно.
    amount:{
      total:1,// Вот объем потребления, который должен быть передан из внешнего интерфейса.
      currency:'CNY'
    },
    scene_info:{
      payer_client_ip:"127.0.0.1",
      h5_info:{
        type:'Wap'
      }
    }
  })
  .then(({data: {h5_url}}) => console.info(h5_url))
  .catch(console.error)
}

Структура каталогов облачных функций:

требовать оплатыиз Облачная функция Структура каталогов
требовать оплатыиз Облачная функция Структура каталогов

В папке ключей хранятся ключи продавца и другие файлы.

2.4 Функция обратного вызова уведомления о платеже

Также создайте новую облачную функцию и создайте триггер шлюза API. Доменное имя триггера — это параметр notify_url, указанный выше.

Язык кода:javascript
копировать
//nodejsРасшифровать
const crypto = require('crypto');
//APIV3 модуль nodejs
const { Wechatpay } = require('wechatpay-axios-plugin');
const { readFileSync } = require('fs');
//npm install wechatpay-axios-plugin
// Номер продавца
const merchantId = '';
// Серийный номер сертификата продавца
const merchantCertificateSerial = '';
// Путь к секретному ключу продавца
const merchantPrivateKeyFilePath = './merchant/apiclient_key.pem';
// Закрытый ключ API продавца Текстовая строка формата PEM или файловый буфер
const merchantPrivateKeyInstance = readFileSync(merchantPrivateKeyFilePath);
// Сертификат платформы
const platformCertificateFilePath = './merchant/wechatpay_XXXXX.pem';
const platformCertificateInstance = readFileSync(platformCertificateFilePath);
//Сертификат платформыоткрытый ключ
const platformPubKeyFilePath = './merchant/wechatpay_XXXXXXXX.pem';
const platformPubKeyInstance = readFileSync(platformPubKeyFilePath);
// Сертификат платформыпоследовательность Число,После загрузки загрузчик запросит поле серийного номера.,Вы также можете использовать командную строку
const platformCertificateSerial = '';
//инициализация
const wxpay = new Wechatpay({
  mchid: merchantId,
  serial: merchantCertificateSerial,
  privateKey: merchantPrivateKeyInstance,
  certs: { [platformCertificateSerial]: platformCertificateInstance, },
});

exports.main = async (event, context) => {
    //Получаем результаты уведомления о платеже
    var body = JSON.parse(event.body);
    // Расшифровать зашифрованныйтекстсимвол  Алгоритм AEAD_AES_256_GCM, проверьте источник
    let ciphertext = body.resource.ciphertext;
    let nonce = body.resource.nonce;
    let associated_data = body.resource.associated_data;
    let apiv3key = "";//Ключ APIV3 продавца установлен на веб-странице
    ciphertext = Buffer.from(ciphertext, 'base64');
    let authTag = ciphertext.slice(ciphertext.length - 16);
    let data = ciphertext.slice(0, ciphertext.length - 16);
    let decipher = crypto.createDecipheriv('aes-256-gcm', apiv3key, nonce);
    decipher.setAuthTag(authTag);
    decipher.setAAD(Buffer.from(associated_data));
    let decoded = decipher.update(data, null, 'utf8');
    decipher.final();
    let payData = JSON.parse(decoded); //Расшифроватьназадизданные
    console.log(payData)
    var sub_mchid =payData.sub_mchid;
    var transaction_id = payData.transaction_id;
    var out_trade_no = payData.out_trade_no;
    
    // Продавцы могут самостоятельно сформулировать последующую логику
    // TODO
    
    // После получения обратного вызова необходимо вернуть следующие поля, иначе уведомление продолжится.
    return {   
        "code": "SUCCESS",
        "message": "успех"
    }
};

На данный момент все функции реализованы, спасибо за просмотр.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose