【问题标题】:getting error after successful payment in PayUMoney in reactjsreactjs中PayUMoney支付成功后报错
【发布时间】:2021-05-30 17:57:04
【问题描述】:

我在我的 react js 项目中集成了 PayUMoney 支付方式。直到付款都可以正常工作。支付成功后,跳转到我给的成功url,正确但报错。

无法发布/成功

server.js 文件在这里我已经把我所有的逻辑都集成到 PayUMoney。

const express = require('express');
const app = express();
const port = process.env.PORT || 5001
const path = require('path');
const fs = require('fs')
const router = express.Router();
const request = require('request');

app.post('/admission', (req, res) => {
        
        var txnid = "";
        var length = 10; // 10 digits random transaction ID.
        var sample = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        for(var i = 0; i < length; i++) {
            txnid += sample.charAt(Math.floor(Math.random() * sample.length));
        }
        // console.log(txnid);

        var amount = 10;
        var productinfo = 'Myproduct';
        var firstname = 'geeta';
        var email = 'joshig@gmail.com';
        var phone = '9999111111';

        var surl = 'http://localhost:5001/admissionForm';
        var furl = 'http://localhost:5001/failure';
        
        var key = 'Mykey';
        var salt = 'mysalt';
             // string hash format
        var str = key + '|' + txnid + '|' + amount + '|' + productinfo + '|' + firstname + '|' + email + '|' +
        '||||||||||' + salt;
        var hash = require('crypto').createHash('sha512').update(str).digest('hex');
        
        var service_provider = 'payu_paisa';

        var formData = {
            'key' : key,
            'txnid' : txnid,
            'amount' : amount,
            'productinfo' : productinfo,
            'firstname' : firstname,
            'email' : email,
            'phone' : phone,
            'surl' : surl,
            'furl' : furl,
            'hash' : hash,  
            'service_provider' : service_provider
        }

             var request = require('request');
        // for live key and salt - use 'https://secure.payu.in/_payment' 
        request.post('https://test.payu.in/_payment', {form: formData}, function(err, response, body) {
            var location = response.caseless.dict.location;
            res.redirect(location);
        }); 

});

app.use(express.static(path.resolve(__dirname, './build')));

app.get('*', function(request, response) {
  const filePath = path.resolve(__dirname, './build', 'index.html');
  response.sendFile(filePath);
});

app.listen(port, () => console.log(`Listening on port right now ${port}`));

这是我的UI代码:

> import React, { Component } from "react"; import {Container, Col, Row,
> Button, Form } from 'react-bootstrap';
> 
>  
> 
> class payment extends Component {
> 
> 
>   render() {
>     return (
>       <React.Fragment>
>                   <div className="paymentWrapper">
>                     <Form action="admission" method="post">
>                       <Container>
>                         <Row>
>                           <Col sm={6}>
>                             <Form.Group controlId="paymentWrapper.firstname">
>                               <Form.Label>First Name</Form.Label>
>                               <Form.Control type="text" placeholder="First Name" name="firstname" />
>                             </Form.Group>   
>                             <Form.Group controlId="admissionForm.phoneno">
>                               <Form.Label>Phone No</Form.Label>
>                               <Form.Control type="number" placeholder="Phone No" name='phone' />
>                             </Form.Group>
>                             <Form.Group controlId="admissionForm.phoneno">
>                               <Form.Label>Product Info</Form.Label>
>                               <Form.Control type="text" placeholder="Product Info" name='productinfo' />
>                             </Form.Group>
>                           </Col>
>                           <Col sm={6}>
>                             <Form.Group controlId="admissionForm.lastname">
>                               <Form.Label>Last Name</Form.Label>
>                               <Form.Control type="text" placeholder="Last Name" />
>                             </Form.Group>
>                             <Form.Group controlId="admissionForm.email">
>                               <Form.Label>Email</Form.Label>
>                               <Form.Control type="email" placeholder="Email" name='email' />
>                             </Form.Group>
>                             <Form.Group controlId="admissionForm.phoneno">
>                               <Form.Label>Amount</Form.Label>
>                               <Form.Control type="number" placeholder="Amount" name='amount' />
>                             </Form.Group>                            
>                              <Button variant="primary" type="submit">Submit </Button>
>                           </Col> 
>                         </Row>
>                       </Container>
>                     </Form>
>                   </div>
>       </React.Fragment>
>     );   } }   export default payment;

【问题讨论】:

    标签: reactjs payumoney


    【解决方案1】:

    使用event.preventDefault(); 检查是否有帮助 参考网址:Cannot post error react js

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-20
      • 2017-09-29
      • 1970-01-01
      • 2016-04-13
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 2015-03-10
      相关资源
      最近更新 更多